John Regehr
2009-Dec-14 21:49 UTC
[LLVMdev] detailed comparison of generated code size for LLVM and other compilers
> You'll probably need to some digging to make sure the defaults are exactly > comparable. Are SSE and/or MMX used? This affects floating point codegen > quite a bit. Are the target CPUs the same?Good point. Would "generic i686" be a reasonable choice? Does that even mean anything these days? Anyway-- I'd appreciate some guidance on what you folks would find most interesting and useful. Then I can do some homework and figure out how to get the rest of the compilers to assume an equivalent ISA. Thanks, John
Chris Lattner
2009-Dec-14 21:57 UTC
[LLVMdev] detailed comparison of generated code size for LLVM and other compilers
On Dec 14, 2009, at 1:49 PM, John Regehr wrote:>> You'll probably need to some digging to make sure the defaults are >> exactly >> comparable. Are SSE and/or MMX used? This affects floating point >> codegen >> quite a bit. Are the target CPUs the same? > > Good point. Would "generic i686" be a reasonable choice? Does that > even > mean anything these days? > > Anyway-- I'd appreciate some guidance on what you folks would find > most > interesting and useful. Then I can do some homework and figure out > how to > get the rest of the compilers to assume an equivalent ISA.I'd recommend targeting (with both -march and -mtune) a simple and commonly available CPU type like "core2" or "pentium4". ICC should have both of these and gcc/llvm definitely do. -Chris
Renato Golin
2009-Dec-14 23:29 UTC
[LLVMdev] detailed comparison of generated code size for LLVM and other compilers
2009/12/14 Chris Lattner <clattner at apple.com>:> I'd recommend targeting (with both -march and -mtune) a simple and > commonly available CPU type like "core2" or "pentium4". ICC should > have both of these and gcc/llvm definitely do.While I would say that, to be fair, the comparison should be made with the same options (-O3 only or something of the sort), ICC is specific for Intel and GCC is highly tuned to, which is not the case of LLVM. Still, if the target is specified, I'd assume we should enable all tested and proven (AFAP) optimizations to that particular platform by default. So, my question is: are those optimizations turned off by default because they're experimental? --renato http://systemcall.org/ Reclaim your digital rights, eliminate DRM, learn more at http://www.defectivebydesign.org/what_is_drm
Possibly Parallel Threads
- [LLVMdev] detailed comparison of generated code size for LLVM and other compilers
- [LLVMdev] detailed comparison of generated code size for LLVM and other compilers
- [LLVMdev] detailed comparison of generated code size for LLVM and other compilers
- [LLVMdev] detailed comparison of generated code size for LLVM and other compilers
- [LLVMdev] detailed comparison of generated code size for LLVM and other compilers