diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/CodeGen/X86/mov-zero-to-xor.ll | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/mov-zero-to-xor.ll b/llvm/test/CodeGen/X86/mov-zero-to-xor.ll new file mode 100644 index 0000000..82cb124 --- /dev/null +++ b/llvm/test/CodeGen/X86/mov-zero-to-xor.ll @@ -0,0 +1,32 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s + +declare void @foo(i64, i64, i64, i64, i64, i64) +declare void @bar(i32, i32, i32, i32, i32) + +define void @pr47024() { +; CHECK-LABEL: pr47024: +; CHECK: # %bb.0: +; CHECK-NEXT: movabsq $21542142465, %rdi # imm = 0x504030201 +; CHECK-NEXT: movabsq $723401749922909195, %rdx # imm = 0xA0A0A0F0E0D0C0B +; CHECK-NEXT: movabsq $723401728380766730, %rcx # imm = 0xA0A0A0A0A0A0A0A +; CHECK-NEXT: movabsq $1446803478303675925, %r8 # imm = 0x1414141918171615 +; CHECK-NEXT: movabsq $798285110420182026, %r9 # imm = 0xB1414141414140A +; CHECK-NEXT: xorl %esi, %esi +; CHECK-NEXT: jmp foo # TAILCALL + tail call void @foo(i64 21542142465, i64 0, i64 723401749922909195, i64 723401728380766730, i64 1446803478303675925, i64 798285110420182026) + ret void +} + +define void @pr46315() { +; CHECK-LABEL: pr46315: +; CHECK: # %bb.0: +; CHECK-NEXT: xorl %edi, %edi +; CHECK-NEXT: xorl %esi, %esi +; CHECK-NEXT: movl $2, %edx +; CHECK-NEXT: movl $3, %ecx +; CHECK-NEXT: movl $1, %r8d +; CHECK-NEXT: jmp bar # TAILCALL + tail call void @bar(i32 0, i32 0, i32 2, i32 3, i32 1) + ret void +} |
