[llvm] r195496 - X86: Perform integer comparisons at i32 or larger.
evan.cheng at apple.com
Sun Dec 1 10:43:46 PST 2013
On Nov 25, 2013, at 10:22 PM, Sean Silva <silvas at purdue.edu> wrote:
> On Mon, Nov 25, 2013 at 4:48 PM, Jim Grosbach <grosbach at apple.com> wrote:
> A few select examples I’m seeing are: 256.bzip2 improves by 7%. 401.bzip2 improves by 4.5%. 300.twolf improves by 3%. 186.crafty improves by 4%. The details vary, but this is true for both Ivy Bridge and Haswell in particular.
> Hmm... on second thought, do these programs use lots of i16's? Agner reports that on Ivy Bridge and Haswell there is no partial register access cost for the i8 low subregs. He doesn't seem to mention anything about 16-bit, so I assume that the partial register stall is still there for the i16 subregs??? I don't have an Ivy Bridge or Haswell to test on unfortunately :(
I'm pretty sure 16-bit instructions has the 0x66 prefix, which incurs additional code size cost. I'm also fairly certain that 16-bit instructions has some general performance issues (see Intel optimization guide, if I remember correctly), which is why LLVM x86 target generally avoids them.
> -- Sean Silva
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits