xref: /llvm-project/llvm/test/CodeGen/X86/mov-zero-to-xor.ll (revision 6b6c3aaeacfdc4a482de4af41719b0a4b50aeadf)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
3
4declare dso_local void @foo(i64, i64, i64, i64, i64, i64)
5declare dso_local void @bar(i32, i32, i32, i32, i32)
6
7define void @pr47024() {
8; CHECK-LABEL: pr47024:
9; CHECK:       # %bb.0:
10; CHECK-NEXT:    movabsq $21542142465, %rdi # imm = 0x504030201
11; CHECK-NEXT:    movabsq $723401749922909195, %rdx # imm = 0xA0A0A0F0E0D0C0B
12; CHECK-NEXT:    movabsq $723401728380766730, %rcx # imm = 0xA0A0A0A0A0A0A0A
13; CHECK-NEXT:    movabsq $1446803478303675925, %r8 # imm = 0x1414141918171615
14; CHECK-NEXT:    movabsq $798285110420182026, %r9 # imm = 0xB1414141414140A
15; CHECK-NEXT:    xorl %esi, %esi
16; CHECK-NEXT:    jmp foo # TAILCALL
17  tail call void @foo(i64 21542142465, i64 0, i64 723401749922909195, i64 723401728380766730, i64 1446803478303675925, i64 798285110420182026)
18  ret void
19}
20
21define void @pr46315() {
22; CHECK-LABEL: pr46315:
23; CHECK:       # %bb.0:
24; CHECK-NEXT:    xorl %edi, %edi
25; CHECK-NEXT:    xorl %esi, %esi
26; CHECK-NEXT:    movl $2, %edx
27; CHECK-NEXT:    movl $3, %ecx
28; CHECK-NEXT:    movl $1, %r8d
29; CHECK-NEXT:    jmp bar # TAILCALL
30  tail call void @bar(i32 0, i32 0, i32 2, i32 3, i32 1)
31  ret void
32}
33