intel 内部函数的名称中包含向量的子类型。例如,_mm_set1_ps是一个ps,这是一个packed single-precision又名。一个float。尽管它们中的大多数含义很清楚,但它们的“全名”之类packed single-precision的功能描述并不总是很清楚。我创建了下表。不幸的是,有些条目丢失了。它们的价值是什么?表格下方的其他问题。
| 缩写 | 全名 | C/++ 等价物 |
|---|---|---|
| ps | 打包单精度 | 漂浮 |
| 酸碱度 | 压缩半精度 | 没有任何** |
| PD | 压缩双精度 | 双倍的 |
| pch | 压缩半精度复数 | 没有任何** |
| pi8 | ??? | int8_t |
| pi16 | ??? | int16_t |
| pi32 | ??? | int32_t |
| 外延8 | ??? | int8_t |
| 外延16 | ??? | int16_t |
| 外延32 | ??? | int32_t |
| 外延64 | ??? | int64_t |
| 外延64x | ??? | int64_t |
附加问题:
- 我错过了吗?
epiX和 和有什么不一样piX?- 为什么不
pi64存在? epi64和 和有什么不一样epi64x?
** 我找到了这个,但似乎没有标准的方法来表示 C/++ 中的半精度(复数)值。如果这有任何改变,请纠正我。