[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / tied-depbreak.mir
blob4eca28795516fa7446de1d6137ade364ab9e93d4
1 # RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=slm -run-pass post-RA-sched -o - %s | FileCheck %s
3 # Verify that the critical antidependence breaker does not partially
4 # replace tied operands
6 --- |
8   define void @main() { ret void }
10 ...
11 ---
12 # CHECK-LABEL: main
13 name:            main
14 alignment:       16
15 exposesReturnsTwice: false
16 legalized:       false
17 regBankSelected: false
18 selected:        false
19 failedISel:      false
20 tracksRegLiveness: true
21 hasWinCFI:       false
22 registers:       []
23 liveins:
24   - { reg: '$edi', virtual-reg: '' }
25   - { reg: '$esi', virtual-reg: '' }
26 frameInfo:
27   isFrameAddressTaken: false
28   isReturnAddressTaken: false
29   hasStackMap:     false
30   hasPatchPoint:   false
31   stackSize:       0
32   offsetAdjustment: 0
33   maxAlignment:    1
34   adjustsStack:    false
35   hasCalls:        false
36   stackProtector:  ''
37   maxCallFrameSize: 0
38   cvBytesOfCalleeSavedRegisters: 0
39   hasOpaqueSPAdjustment: false
40   hasVAStart:      false
41   hasMustTailInVarArgFunc: false
42   localFrameSize:  0
43   savePoint:       ''
44   restorePoint:    ''
45 fixedStack:      []
46 stack:           []
47 callSites:       []
48 debugValueSubstitutions: []
49 constants:       []
50 machineFunctionInfo: {}
51 body:             |
52   bb.0:
53     liveins: $edi, $esi
55     $eax = MOV32rr $esi
56     $eax = LEA64_32r $rdi, 1, $rsi, 0, $noreg
57     $edi = MOV32rr $esi
58     $esi = MOV32ri 4
59     ; Verify that XOR is untouched by the dependency breaker
60     ; CHECK: $esi = XOR32rr undef $esi, undef $esi, implicit-def dead $eflags, implicit-def $rsi
61     $esi = XOR32rr undef $esi, undef $esi, implicit-def dead $eflags, implicit-def $rsi
62     RET64 killed $eax
64 ...