zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  215 随笔 :: 0 文章 :: 145 评论 :: 111万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

作者:zyl910

  之前我整理了一份VC6至VC2010中Intrinsics函数集对应表。现在VS2012发布了,它有没有增加Intrinsics函数集呢?于是我对此进行检查。

  若是64位win8系统中默认安装的VS2012,Intrinsics头文件位于“C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include”目录。

  首先发现多了两个Intrinsics头文件——
armintr.h:ARM的常用指令集。
arm_neon.h:ARM的neon指令集。

  看了一下intrin.h,发现以前大段的ARM Intrinsics被移到armintr.h中去了,现在的intrin.h只需引入armintr.h(拥有_M_ARM宏时)。
  但是intrin.h并没有引入arm_neon.h。搜索了一下其他头文件,也没有引入arm_neon.h。看来不会自动引入,需要开发者根据情况手动引入arm_neon.h。

  又对比了一下原来就有Intrinsics头文件,发现两个文件增加了新的Intrinsics函数集——
immintrin.h:F16C、RDRAND、FSGSBASE、FMA、AVX2、BMI1、BMI2、LZCNT、INVPCID、HLE、RTM。
ammintrin.h:BMI1、TBM。

  指令简介——
F16C、RDRAND、FSGSBASE:这些是Ivy Bridge架构的新指令。
FMA、AVX2、BMI1、BMI2、INVPCID、HLE、RTM:这些是Haswell架构的新指令。
LZCNT:AMD的ABM指令集,现在Intel对其支持。以前intrin.h有一个双下划线版的,现在immintrin.h提供单下划线版。
TBM:AMD的TBM指令集。

  Haswell架构要到2013年第二季度才发售,VC2012已提前做好准备。


参考文献——
《Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes:1, 2A, 2B, 2C, 3A, 3B, and 3C》044US. August 2012. http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
《Intel® Architecture Instruction Set Extensions Programming Reference》014. AUGUST 2012. http://software.intel.com/en-us/avx/
《AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions》. December 2011. http://developer.amd.com/documentation/guides/Pages/default.aspx#manuals
《Intrinsics头文件与SIMD指令集、Visual Studio版本对应表》. http://www.cnblogs.com/zyl910/archive/2012/02/28/vs_intrin_table.html

posted on   zyl910  阅读(4829)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2011-11-06 昨日购买了华为U8800+。晒联通2.2版系统与官方2.3版系统的评测跑分。
点击右上角即可分享
微信分享提示