diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/fixup-lea.ll | 34 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/lsr-static-addr.ll | 2 |
2 files changed, 35 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/fixup-lea.ll b/llvm/test/CodeGen/X86/fixup-lea.ll new file mode 100644 index 00000000000..1ddc099ffd6 --- /dev/null +++ b/llvm/test/CodeGen/X86/fixup-lea.ll @@ -0,0 +1,34 @@ +;RUN: llc < %s -march=x86 | FileCheck %s + +define void @foo(i32 inreg %dns) minsize { +entry: +; CHECK-LABEL: foo +; CHECK: dec + br label %for.body + +for.body: + %i.05 = phi i16 [ %dec, %for.body ], [ 0, %entry ] + %dec = add i16 %i.05, -1 + %conv = zext i16 %dec to i32 + %cmp = icmp slt i32 %conv, %dns + br i1 %cmp, label %for.body, label %for.end + +for.end: + ret void +} + +define void @bar(i32 inreg %dns) minsize { +entry: +; CHECK-LABEL: bar +; CHECK: inc + br label %for.body + +for.body: + %i.05 = phi i16 [ %inc, %for.body ], [ 0, %entry ] + %inc = add i16 %i.05, 1 + %conv = zext i16 %inc to i32 + %cmp = icmp slt i32 %conv, %dns + br i1 %cmp, label %for.body, label %for.end +for.end: + ret void +} diff --git a/llvm/test/CodeGen/X86/lsr-static-addr.ll b/llvm/test/CodeGen/X86/lsr-static-addr.ll index 1765ed7871d..97451e5573f 100644 --- a/llvm/test/CodeGen/X86/lsr-static-addr.ll +++ b/llvm/test/CodeGen/X86/lsr-static-addr.ll @@ -18,7 +18,7 @@ ; ATOM-NEXT: movsd A(,%rax,8) ; ATOM-NEXT: mulsd ; ATOM-NEXT: movsd -; ATOM-NEXT: leaq 1(%rax), %rax +; ATOM-NEXT: incq %rax @A = external global [0 x double] |

