福利姬什么意思| 民营企业和私营企业有什么区别| 三月初什么星座| 下寒上热体质吃什么中成药| 肝火旺盛吃什么中成药| 单硬脂酸甘油酯是什么| 大学团委书记什么级别| 诺贝尔为什么没有数学奖| 怀孕白细胞高是什么原因| 视觉感受器是什么| 什么是小奶狗| 玉米蛇吃什么| 七月二十二什么日子| 高铁和地铁有什么区别| 干你什么事| 唐筛和无创有什么区别| 怀孕前3个月需要注意什么| 不孕不育的症状是什么| 爱好是什么意思| 肾疼是什么原因| 茄子有什么功效和作用| 历久弥新什么意思| 胃肠紊乱吃什么药| 七月属什么生肖| 为什么的拼音怎么写| 怀孕吃什么水果比较好| o型血容易得什么病| 6月16什么星座| 负荆请罪是什么意思| 返图是什么意思| 长期尿黄可能是什么病| 先兆性流产有什么症状| 促甲状腺素高是什么意思| 九头身什么意思| 可字属于五行属什么| 牛肉不能和什么一起吃| 血管瘤是什么引起的| 猪肝炒什么好吃| 坐骨神经有什么症状| 孕妇喝什么牛奶好| 情何以堪 什么意思| 3a是什么意思| 急性扁桃体化脓是什么原因引起的| 放屁多是什么原因引起的| nak是什么牌子| 年轮稀疏的一面是什么方向| 1927年中国发生了什么| 牛油果不能和什么一起吃| 外地车进北京有什么限制| 白羊跟什么星座最配| 什么是diy| 龟头炎用什么软膏| 为什么会得鼻炎| 双红出彩是什么生肖| 珠光宝气是什么生肖| 财多身弱什么意思| 朔望月是什么意思| 米鱼是什么鱼| a型血和a型血生的孩子是什么血型| 阑尾炎是什么病| x光是什么| 鸡毛菜是什么菜| 光杆司令是什么意思| 他将是你的新郎是什么歌| 80年属什么的| 功夫2什么时候上映| 借口是什么意思| 香槟是什么酒| 肾功能四项检查什么| 肾炎什么症状| 百香果有什么功效| 刚拔完牙需要注意什么| 天热出汗多是什么原因| 7777什么意思| 月经前一周失眠是什么原因| 马齿苋与什么食物相克| 洋葱为什么会让人流泪| 什么来什么去的四字词语| 耷拉的近义词是什么| 清补凉是什么| 卡替治疗是什么意思| 五十知天命什么意思| 壮丁是什么意思| 乳房发痒什么原因| 变性乙醇是什么东西| 发改委主任什么级别| 拉稀吃什么药最有效果| 我炸了是什么意思| 抗体高是什么意思| 发烧挂什么科| 九月是什么星座的| 尤加一笔是什么字| 先父遗传是什么意思| 暴龙眼镜什么档次| 经常拉稀是什么原因| 阿凡提是什么意思| 疝气长在什么位置图片| 泪目是什么意思| 兵戎相见是什么意思| 庚子是什么意思| 苏小小属什么生肖| 卡马西平片是什么药| 什么时候量血压最准确| 无忧是什么意思| 打水光针有什么副作用| 什么的寒风| 定增是什么意思| 为什么体重一直下降| 白洞是什么东西| 似水年华是什么意思| 命格是什么意思| 女生下体瘙痒用什么药| 检察院是做什么的| c肽测定是什么意思| 蓁是什么意思| 莲字五行属什么| 人为什么会死亡| 感冒吃什么饭菜比较好| 缄默症是什么病| 女人太瘦吃什么增肥| 睡眠障碍吃什么药最好| 晚上减肥吃什么| 疾控中心属于什么单位| 榴莲和什么相克| 什么是结膜炎| 吃什么有饱腹感还减肥| cathy什么意思| 什么药消肿最快最有效| 尿路感染是什么引起的| 9.11是什么星座| 十二月份是什么星座| 太古里是什么意思| 负氧离子是什么| 寅时属什么生肖| crs是什么意思| 朝对什么| ABA是什么植物激素| 缺钙会导致什么| 感冒挂什么科| u是什么单位| nba下个赛季什么时候开始| 姨妈不正常是什么原因| 星辰大海是什么意思| 6月4号是什么星座| 血压低吃什么药好| 涉黑是什么意思| 为所当为什么意思| 丝芙兰属于什么档次| 关帝庙求什么最灵| 脚趾头长痣代表什么| 商纣王姓什么| 梦见别人结婚是什么征兆| 死鱼眼是什么样子的| canon是什么意思| 37属什么| 单核细胞偏高是什么意思| 时光静好是什么意思| 有什么寓言故事| 牙龈上火肿痛吃什么药| 79年出生属什么生肖| 吃什么可以祛斑| 1022是什么星座| 狗眼看人低是什么意思| 壬字五行属什么| 蒲公英长什么样| 社保基数什么时候调整| lotus是什么车| 老人身上痒是什么原因| 厨子什么意思| 生吃胡萝卜有什么好处和坏处| 手心热吃什么药| 耳朵前面有痣代表什么| 捡到鹦鹉是什么预兆| 水火既济是什么意思| 垫脚石是什么意思| 龙珠是什么| 头眩晕吃什么药| 两性是什么意思| 北面属于什么档次| 什么变化| 堞是什么意思| 25分贝相当于什么声音| 泻立停又叫什么名字| 仓鼠夏天用什么垫料| 12月17日什么星座| 发炎不能吃什么东西| 9月3日是什么纪念日| 送老人什么礼物最好| 血压高是什么引起的| 胃下面是什么器官| 肚子胀不排便什么原因| 越位是什么意思| 梦见买衣服是什么意思| ca医学上是什么意思| 孕妇缺铁性贫血对胎儿有什么影响| 囊肿什么意思| 老枞水仙属于什么茶| 梅核气吃什么药最好| 什么样的人不能吃海参| 火命人适合什么颜色| 九月开什么花| 考试穿什么颜色最吉利| 豆角炒什么好吃| 尿培养能查出什么病| 男性泌尿道感染吃什么药| 最坚固的锁怕什么| 肾虚腰疼吃什么药最有效| 女生吃避孕药有什么副作用| 什么竹笋不能吃| 咳嗽流鼻涕吃什么药| 非农业户口是什么意思| 女人脾虚吃什么最好| 孕妇晚餐吃什么比较好| 意什么风发| 银杏树叶子像什么| ab和b型血生的孩子是什么血型| 月子吃什么补气血| 重庆有什么烟| 德国什么东西值得买| 什么地问| 普渡众生是什么意思| nov是什么意思| 金牛座是什么性格| 水淀粉是什么东西| 耳鼻喉科属于什么科| 血压是什么| 中华文化的精髓是什么| 什么叫室性早搏| 茴三硫片主治什么| secret什么意思| 看灰指甲去医院挂什么科| 老被蚊子咬是什么原因| 乳腺结节是什么引起的| 三月20号是什么星座| 摧枯拉朽什么意思| camouflage什么意思| 尿蛋白2加是什么意思| 普字五行属什么| 荆芥不能和什么一起吃| 牙神经痛吃什么药| 水煮鱼一般用什么鱼| 痰是绿色的是什么原因| 弯刀裤适合什么人穿| 阴茎进入阴道什么感觉| 尿道口流脓什么病| 鳞状上皮增生是什么意思| 什么植物和动物最像鸡| 苏轼是什么之一| 新生儿干呕是什么原因| 门客是什么意思| 跳蛛吃什么| 梦到自己结婚什么意思| 汗毛长是什么原因| 怀孕血糖高有什么症状| 小肚子大是什么原因| lbs什么意思| 作恶多端是什么意思| 无精打采是什么生肖| 女性绝经前有什么症状| cashmere是什么面料| 克卜勒是什么意思| 小孩记忆力差什么原因| 觉是什么结构| 双肺纹理增粗是什么意思| 百度Jump to content

欺世盗名是什么生肖

From Wikipedia, the free encyclopedia
百度 孕晚期吃什么好

The FMA instruction set is an extension to the 128- and 256-bit Streaming SIMD Extensions instructions in the x86 microprocessor instruction set to perform fused multiply–add (FMA) operations.[1] There are two variants:

Instructions

[edit]

FMA3 and FMA4 instructions have almost identical functionality, but are not compatible. Both contain fused multiply–add (FMA) instructions for floating-point scalar and SIMD operations, but FMA3 instructions have three operands, while FMA4 ones have four. The FMA operation has the form d = round(a · b + c), where the round function performs a rounding to allow the result to fit within the destination register if there are too many significant bits to fit within the destination.

The four-operand form (FMA4) allows a, b, c and d to be four different registers, while the three-operand form (FMA3) requires that d be the same register as a, b or c. The three-operand form makes the code shorter and the hardware implementation slightly simpler, while the four-operand form provides more programming flexibility.

See XOP instruction set for more discussion of compatibility issues between Intel and AMD.

FMA3 instruction set

[edit]

CPUs with FMA3

[edit]
  • AMD
    • Piledriver (2012) and newer microarchitectures[3]
      • 2nd gen APUs, "Trinity" (32nm), May 15, 2012
      • 2nd gen "Bulldozer" (bdver2) with Piledriver cores, October 23, 2012
  • Intel

Excerpt from FMA3

[edit]

Supported commands include

Mnemonic Operation Mnemonic Operation
VFMADD result = + a · b + c VFMADDSUB result = a · b + c for i = 1, 3, ...
result = a · b ? c for i = 0, 2, ...
VFNMADD result = ? a · b + c
VFMSUB result = + a · b ? c VFMSUBADD result = a · b ? c for i = 1, 3, ...
result = a · b + c for i = 0, 2, ...
VFNMSUB result = ? a · b ? c
Note
  • VFNMADD is result = ? a · b + c, not result = ? (a · b + c).
  • VFNMSUB generates a ?0 when all inputs are zero.

Explicit order of operands is included in the mnemonic using numbers "132", "213", and "231":

Postfix
1
Operation possible
memory operand
overwrites
132 a = a · c + b c (factor) a (other factor)
213 a = b · a + c c (summand) a (factor)
231 a = b · c + a c (factor) a (summand)

as well as operand format (packed or scalar) and size (single or double).

Postfix
2
precision size Postfix
2
precision size
SS Single 32 bit SD Double 64 bit
PSx 4× 32 bit PDx 2× 64 bit
PSy 8× 32 bit PDy 4× 64 bit
PSz 16× 32 bit PDz 8× 64 bit

This results in

Encoding Mnemonic Operands Operation
VEX.256.66.0F38.W1 98 /r VFMADD132PDy ymm, ymm, ymm/m256 a = a · c + b
VEX.256.66.0F38.W0 98 /r VFMADD132PSy
VEX.128.66.0F38.W1 98 /r VFMADD132PDx xmm, xmm, xmm/m128
VEX.128.66.0F38.W0 98 /r VFMADD132PSx
VEX.LIG.66.0F38.W1 99 /r VFMADD132SD xmm, xmm, xmm/m64
VEX.LIG.66.0F38.W0 99 /r VFMADD132SS xmm, xmm, xmm/m32
VEX.256.66.0F38.W1 A8 /r VFMADD213PDy ymm, ymm, ymm/m256 a = b · a + c
VEX.256.66.0F38.W0 A8 /r VFMADD213PSy
VEX.128.66.0F38.W1 A8 /r VFMADD213PDx xmm, xmm, xmm/m128
VEX.128.66.0F38.W0 A8 /r VFMADD213PSx
VEX.LIG.66.0F38.W1 A9 /r VFMADD213SD xmm, xmm, xmm/m64
VEX.LIG.66.0F38.W0 A9 /r VFMADD213SS xmm, xmm, xmm/m32
VEX.256.66.0F38.W1 B8 /r VFMADD231PDy ymm, ymm, ymm/m256 a = b · c + a
VEX.256.66.0F38.W0 B8 /r VFMADD231PSy
VEX.128.66.0F38.W1 B8 /r VFMADD231PDx xmm, xmm, xmm/m128
VEX.128.66.0F38.W0 B8 /r VFMADD231PSx
VEX.LIG.66.0F38.W1 B9 /r VFMADD231SD xmm, xmm, xmm/m64
VEX.LIG.66.0F38.W0 B9 /r VFMADD231SS xmm, xmm, xmm/m32

FMA4 instruction set

[edit]

CPUs with FMA4

[edit]
  • AMD
    • "Heavy Equipment" processors
    • Zen: WikiChip's testing shows FMA4 still appears to work (under the conditions of the tests) despite not being officially supported and not even reported by CPUID. This has also been confirmed by Agner Fog.[8] But other tests gave wrong results.[9] AMD Official Web Site FMA4 Support Note ZEN CPUs = AMD ThreadRipper 1900x, R7 Pro 1800, 1700, R5 Pro 1600, 1500, R3 Pro 1300, 1200, R3 2200G, R5 2400G.[10][11][12]
  • Intel
    • Intel has not released CPUs with support for FMA4.

Excerpt from FMA4

[edit]
Mnemonic (AT&T) Operands Operation
VFMADDPDx xmm, xmm, xmm/m128, xmm/m128 a = b·c + d
VFMADDPDy ymm, ymm, ymm/m256, ymm/m256
VFMADDPSx xmm, xmm, xmm/m128, xmm/m128
VFMADDPSy ymm, ymm, ymm/m256, ymm/m256
VFMADDSD xmm, xmm, xmm/m64, xmm/m64
VFMADDSS xmm, xmm, xmm/m32, xmm/m32

History

[edit]

The incompatibility between Intel's FMA3 and AMD's FMA4 is due to both companies changing plans without coordinating coding details with each other. AMD changed their plans from FMA3 to FMA4 while Intel changed their plans from FMA4 to FMA3 almost at the same time. The history can be summarized as follows:

  • August 2007: AMD announces the SSE5 instruction set, which includes 3-operand FMA instructions. A new coding scheme (DREX) is introduced for allowing instructions to have three operands.[13]
  • April 2008: Intel announces their AVX and FMA instruction sets, including 4-operand FMA instructions. The coding of these instructions uses the new VEX coding scheme,[14] which is more flexible than AMD's DREX scheme.
  • December 2008: Intel changes the specification for their FMA instructions from 4-operand to 3-operand instructions. The VEX coding scheme is still used.[15]
  • May 2009: AMD changes the specification of their FMA instructions from the 3-operand DREX form to the 4-operand VEX form, compatible with the April 2008 Intel specification rather than the December 2008 Intel specification.[16]
  • October 2011: AMD Bulldozer processor supports FMA4.[17]
  • January 2012: AMD announces FMA3 support in future processors codenamed Trinity and Vishera; they are based on the Piledriver architecture.[18]
  • May 2012: AMD Piledriver processor supports both FMA3 and FMA4.[17]
  • June 2013: Intel Haswell processor supports FMA3.[19]
  • February 2017: The first generation of AMD Ryzen processors officially supports FMA3, but not FMA4 according to the CPUID instruction.[2] There has been confusion regarding whether FMA4 was implemented or not on this processor due to errata in the initial patch to the GNU Binutils package that has since been rectified.[20][21] One unconfirmed report of wrong results[9] led to some doubt, but Mysticial (Alexander Yee, developer of y-cruncher) debunked it:[22] FMA4 worked for bit-exact bignum calculations on his Zen 1 system for years, and the one report on Reddit never had any followup investigation to rule out mistakes in the testing software before being widely repeated. The initial Ryzen CPUs could be crashed by a particular sequence of FMA3 instructions, but updated CPU microcode fixes the problem.[23]
  • July 2019: AMD Zen 2 and later Ryzen processors don't support FMA4 at all.[24] They continue to support FMA3. Only Zen 1 and Zen+ have unofficial FMA4 support.

Compiler and assembler support

[edit]

Different compilers provide different levels of support for FMA:

References

[edit]
  1. ^ Woltmann, George (Prime95). "Intel AVX and GIMPS". mersenneforum.org. Great Internet Mersenne Prime Search (GIMPS) project. Retrieved 27 July 2011. FMA3 and FMA4 are not instruction sets, they are individual instructions -- fused multiply add. They could be quite useful depending on how Intel and AMD implement them{{cite web}}: CS1 maint: numeric names: authors list (link)
  2. ^ a b "The microarchitecture of Intel, AMD and VIA CPUs An optimization guide for assembly programmers and compiler makers" (PDF). Retrieved 2025-08-07.
  3. ^ Maffeo, Robin (March 1, 2012). "AMD and the Visual Studio 11 Beta". AMD. Archived from the original on November 9, 2013. Retrieved 2025-08-07.
  4. ^ "CPU-Z - ID : y5z6gq". Retrieved 2025-08-07.
  5. ^ "CPU-Z - ID : kr2mlx". Retrieved 2025-08-07.
  6. ^ "AMD64 Architecture Programmer's Manual Volume 6: 128-Bit and 256-Bit XOP, FMA4 and CVT16 Instructions" (PDF). AMD. May 1, 2009.
  7. ^ "New "Bulldozer" and "Piledriver" Instructions A step forward for high performance software development" (PDF). AMD. October 2012.
  8. ^ "Agner's CPU blog - Test results for AMD Ryzen". 2025-08-07.
  9. ^ a b "Discussion – Ryzen has undocumented support for FMA4". Retrieved 2025-08-07.
  10. ^ "www.amd.com, FMA4 support model list".
  11. ^ "www.amd.com, FMA4 support model list".
  12. ^ "www.amd.com, FMA4 support model list".
  13. ^ "128-Bit SSE5 Instruction Set". AMD Developer Central. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  14. ^ "Intel Advanced Vector Extensions Programming Reference" (PDF). Intel. Retrieved 2025-08-07.[permanent dead link]
  15. ^ "Intel Advanced Vector Extensions Programming Reference". Intel. Retrieved 2025-08-07.
  16. ^ "Striking a balance". Dave Christie, AMD Developer blogs. May 6, 2009. Archived from the original on July 8, 2012. Retrieved 2025-08-07.
  17. ^ a b "New Bulldozer and Piledriver Instructions" (PDF). AMD. Retrieved 25 July 2013.
  18. ^ "Software Optimization Guide for AMD Family 15h Processors" (PDF). AMD. Retrieved 19 April 2012.
  19. ^ "Intel Architecture Instruction Set Extensions Programming Reference" (PDF). Intel. Retrieved 25 July 2013.
  20. ^ Gopalasubramanian, Ganesh (2025-08-07). "[PATCH] add znver1 processor". Retrieved 2025-08-07.
  21. ^ Pawar, Amit (2025-08-07). "[PATCH] Remove CpuFMA4 from Znver1 CPU Flags". Retrieved 2025-08-07.
  22. ^ "Stack Overflow comment by Mysticial". 2025-08-07. Archived from the original on 2025-08-07. Retrieved 2025-08-07.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  23. ^ "AMD Ryzen Machine Crashes to a Sequence of FMA3 Instructions". 16 March 2017. Retrieved 2025-08-07.
  24. ^ "Stack Overflow comment by Mysticial". 2025-08-07. Retrieved 2025-08-07.
  25. ^ a b Latif, Lawrence (Nov 14, 2011). "AMD Bulldozer only FMA4 and XOP instructions are supported by GCC Intel still mute". The Inquirer. Archived from the original on November 17, 2011.
  26. ^ "FMA4 Intrinsics Added for Visual Studio 2010 SP1". 4 February 2013.
  27. ^ "EKOPath man doc". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  28. ^ "LLVM 3.1 Release Notes".
  29. ^ "Enable detection of AVX and AVX2 support through CPUID". LLVM. 2025-08-07. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
腹泻吃什么药 虞是什么意思 天枢是什么意思 黑皮肤适合穿什么颜色的衣服 纳财是什么意思
润滑油是干什么用的 上火引起的喉咙痛吃什么药 什么是意境 来月经喝红糖水有什么好处 下巴长痘痘用什么药
什么情况下会缺钾 花裤子配什么上衣 路虎为什么叫奇瑞路虎 利好是什么意思 皮肤一碰就破是什么病
蓝帽子标志是什么意思 检查幽门螺杆菌挂什么科 月老叫什么名字 黄瓜可以和什么一起榨汁 四个月念什么
胳膊疼是什么病的前兆helloaicloud.com 女人的动物是什么生肖hcv8jop9ns4r.cn 羊入虎口是什么生肖hcv8jop5ns1r.cn 药流后需要注意什么hcv9jop3ns4r.cn 女人眼角有痣代表什么hcv9jop4ns9r.cn
被舔下面是什么感觉zhongyiyatai.com 40岁男人性功能减退是什么原因hcv7jop6ns9r.cn 植物的茎有什么作用hcv8jop7ns6r.cn 扁桃体疼吃什么药hcv9jop6ns7r.cn 拉肚子是什么原因导致的hcv8jop4ns9r.cn
性冷淡吃什么药最好hcv9jop7ns0r.cn 崴脚挂什么科hcv9jop3ns1r.cn 女生月经不规律的原因是什么hcv9jop2ns5r.cn 什么是鸡胸hcv9jop8ns0r.cn 肺炎能吃什么水果ff14chat.com
胰腺炎恢复期吃什么好hcv7jop5ns3r.cn 运是什么结构hcv9jop5ns6r.cn 猕猴桃什么时候吃最好hcv7jop6ns0r.cn hcv是什么意思hcv9jop5ns1r.cn 淡是什么意思hcv9jop1ns1r.cn
百度