https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104438
--- Comment #5 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #4) > > It is unclear why the CFG wasn't straightened out here. Is the bb commented > > as "asm" actually asm? Then GCC will not see it is very cheap/small, yeah. > > "asm" is not inline assembly. it's BB 6 below > > (note 89 88 126 6 [bb 6] NOTE_INSN_BASIC_BLOCK) > (call_insn 126 89 121 6 (parallel [ > (call (mem:QI (const_int 0 [0]) [0 S1 A8]) > (const_int 0 [0])) > (unspec [ > (const_int 1 [0x1]) > ] UNSPEC_CALLEE_ABI) > ]) -1 > (expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000]) > (nil)) > (nil)) According to PR104441, vzeroupper shouldn't be inserted here, after fix of PR104441, CFG wasn't straightened.