我认为是时候使用快速平方根倒数了。因此,我尝试编写一个函数(在生产中将被标记为inline):floatsqrt_recip(floatx){return_mm_cvtss_f32(_mm_rsqrt_ss(_mm_set_ps1(x)));//sameas_mm_set1_ps}TL;DR:我的问题是“如何让GCC和ICC为上述功能输出最少的汇编(两条指令),最好不求助于原始汇编(坚持使用内在函数)?”正如所写,在ICC13.0.1、GCC5.2.0和Clang3.7上,输出是:shufpsxmm0,xmm0,0rsqrtssxmm0,xmm0ret这是有道理的,因为我使用_mm_s