summaryrefslogtreecommitdiff
path: root/lib/Target/X86/README-X86-64.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-02-27 05:47:54 +0000
committerChris Lattner <sabre@nondot.org>2008-02-27 05:47:54 +0000
commitd0ba2a9c146df8deb355fd5e375f52671109600f (patch)
tree8be940e034d6e97828cebb2c98fd336a19a5ed03 /lib/Target/X86/README-X86-64.txt
parentd36531249a9a9500e516148e7e72d4c0a7a4d0ee (diff)
downloadllvm-d0ba2a9c146df8deb355fd5e375f52671109600f.tar.gz
llvm-d0ba2a9c146df8deb355fd5e375f52671109600f.tar.bz2
llvm-d0ba2a9c146df8deb355fd5e375f52671109600f.tar.xz
Compile x86-64-and-mask.ll into:
_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
Diffstat (limited to 'lib/Target/X86/README-X86-64.txt')
-rw-r--r--lib/Target/X86/README-X86-64.txt11
1 files changed, 1 insertions, 10 deletions
diff --git a/lib/Target/X86/README-X86-64.txt b/lib/Target/X86/README-X86-64.txt
index bdff56d40b..59cecdf4f2 100644
--- a/lib/Target/X86/README-X86-64.txt
+++ b/lib/Target/X86/README-X86-64.txt
@@ -249,15 +249,6 @@ _a:
addq $8, %rsp
ret
-note the dead rsp adjustments. Also, there is surely a better/shorter way
-to clear the top 32-bits of a 64-bit register than movl+andq. Testcase here:
-
-unsigned long long c(unsigned long long a) {return a&4294967295; }
-
-_c:
- movl $4294967295, %ecx
- movq %rdi, %rax
- andq %rcx, %rax
- ret
+note the dead rsp adjustments.
//===---------------------------------------------------------------------===//