我有一个简单的程序:
int main()
{
return 2*7;
}
Run Code Online (Sandbox Code Playgroud)
GCC和clang优化启动时会生成2指令二进制,但icc会产生奇怪的输出.
push rbp #2.1
mov rbp, rsp #2.1
and rsp, -128 #2.1
sub rsp, 128 #2.1
xor esi, esi #2.1
mov edi, 3 #2.1
call __intel_new_feature_proc_init #2.1
stmxcsr DWORD PTR [rsp] #2.1
mov eax, 14 #3.12
or DWORD PTR [rsp], 32832 #2.1
ldmxcsr DWORD PTR [rsp] #2.1
mov rsp, rbp #3.12
pop rbp #3.12
ret
Run Code Online (Sandbox Code Playgroud)