summaryrefslogtreecommitdiff
path: root/lib/Target/X86/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r--lib/Target/X86/README.txt44
1 files changed, 0 insertions, 44 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 1588b49e6f..ceda932001 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -1647,47 +1647,3 @@ The coalescer could coalesce "edx" with "eax" to avoid the movl in LBB1_2
if it commuted the addl in LBB1_1.
//===---------------------------------------------------------------------===//
-
-These two functions perform identical operations:
-
-define i32 @test(i32 %f12) {
- %tmp7.25 = lshr i32 %f12, 16
- %tmp7.26 = trunc i32 %tmp7.25 to i8
- %tmp78.2 = sext i8 %tmp7.26 to i32
- ret i32 %tmp78.2
-}
-
-define i32 @test2(i32 %f12) {
- %f11 = shl i32 %f12, 8
- %tmp7.25 = ashr i32 %f11, 24
- ret i32 %tmp7.25
-}
-
-but the first compiles into significantly better code on x86-32:
-
-_test:
- movsbl 6(%esp), %eax
- ret
-_test2:
- movl 4(%esp), %eax
- shll $8, %eax
- sarl $24, %eax
- ret
-
-and on x86-64:
-
-_test:
- shrl $16, %edi
- movsbl %dil, %eax
- ret
-_test2:
- shll $8, %edi
- movl %edi, %eax
- sarl $24, %eax
- ret
-
-I would like instcombine to canonicalize the first into the second (since it is
-shorter and doesn't involve type width changes) but the x86 backend needs to do
-the right thing with the later sequence first.
-
-//===---------------------------------------------------------------------===//