summaryrefslogtreecommitdiff
path: root/lib/Target/X86/README-X86-64.txt
Commit message (Collapse)AuthorAge
* Chris fixed this README a while back by changing how clang generates code ↵Eli Friedman2011-06-09
| | | | | | for structs like the given struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132815 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-15
| | | | | | | | Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to reuse the value when lowering memset.Benjamin Kramer2011-01-02
| | | | | | | | | | | This allows us to compile: void test(char *s, int a) { __builtin_memset(s, a, 15); } into 1 mul + 3 stores instead of 3 muls + 3 stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122710 91177308-0d34-0410-b5e6-96231b3b80d8
* Add back some possible optimizations for va_arg, with wording that makes itEli Friedman2010-06-14
| | | | | | | | more clear what exactly is missing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105934 91177308-0d34-0410-b5e6-96231b3b80d8
* A few new x86-64 specific README entries.Eli Friedman2010-06-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105674 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove outdated README entries.Eli Friedman2010-06-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105303 91177308-0d34-0410-b5e6-96231b3b80d8
* add a note about dead zero extends.Chris Lattner2009-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78511 91177308-0d34-0410-b5e6-96231b3b80d8
* The x86-64 red zone is now being used.Dan Gohman2009-02-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64535 91177308-0d34-0410-b5e6-96231b3b80d8
* i128 and f80 are implemented for x86-64 now.Dan Gohman2008-09-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55920 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement an x86-64 ABI detail of passing structs by hidden firstDan Gohman2008-04-21
| | | | | | | | | | | | argument. The x86-64 ABI requires the incoming value of %rdi to be copied to %rax on exit from a function that is returning a large C struct. Also, add a README-X86-64 entry detailing the missed optimization opportunity and proposing an alternative approach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50075 91177308-0d34-0410-b5e6-96231b3b80d8
* Make X86TargetLowering::LowerSINT_TO_FP return without creating a dead Chris Lattner2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stack slot and store if the SINT_TO_FP is actually legal. This allows us to compile: double a(double b) {return (unsigned)b;} to: _a: cvttsd2siq %xmm0, %rax movl %eax, %eax cvtsi2sdq %rax, %xmm0 ret instead of: _a: subq $8, %rsp cvttsd2siq %xmm0, %rax movl %eax, %eax cvtsi2sdq %rax, %xmm0 addq $8, %rsp ret crazy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47660 91177308-0d34-0410-b5e6-96231b3b80d8
* this code is correct but strange looking ;-)Chris Lattner2008-02-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47659 91177308-0d34-0410-b5e6-96231b3b80d8
* Compile x86-64-and-mask.ll into:Chris Lattner2008-02-27
| | | | | | | | | | | | | | | | | | | | | | _test: movl %edi, %eax ret instead of: _test: movl $4294967295, %ecx movq %rdi, %rax andq %rcx, %rax ret It would be great to write this as a Pat pattern that used subregs instead of a 'pseudo' instruction, but I don't know how to do that in td files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47658 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2008-02-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47652 91177308-0d34-0410-b5e6-96231b3b80d8
* divb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the ↵Evan Cheng2007-08-09
| | | | | | instruction requires a rex prefix (i.e. outputs to r8b, etc.). So issue shift right by 8 on AX and then truncate it to 8 bits instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40972 91177308-0d34-0410-b5e6-96231b3b80d8
* Dan pointed out that this is done, remove it!Chris Lattner2007-03-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35430 91177308-0d34-0410-b5e6-96231b3b80d8
* - Switch X86-64 JIT to large code size model.Evan Cheng2006-12-05
| | | | | | | | - Re-enable some codegen niceties for X86-64 static relocation model codegen. - Clean ups, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32238 91177308-0d34-0410-b5e6-96231b3b80d8
* UpdateEvan Cheng2006-12-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32214 91177308-0d34-0410-b5e6-96231b3b80d8
* Committing X86-64 support.Evan Cheng2006-09-08
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177 91177308-0d34-0410-b5e6-96231b3b80d8