https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108255
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I suspect r0-127773-g3e7291458b96 changed the behavior for GCC 4.9+ I have not figured out what changed the behavior for GCC 4.8 yet though. I suspect it was just a mistake that GCC 4.8 cost model was incorrect really. LLVM might be not tuning correctly anyways ... Also note ICC (not ICX) does the same as GCC ... So I think this is just a LLVM issue rather than a GCC issue. Someone who knows more about the x86 processors behavior can explain more.