[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / implicit-use-spill.mir
blob343f0f7a03e982791ef141a6090eb6c3c1498983
1 # RUN: llc -run-pass=greedy -mtriple=x86_64-apple-macosx -o - %s | FileCheck %s
3 # Make sure we don't assert when we try to reload a value that is just implicitly used.
4 ---
5 # CHECK: name: foo
6 # This test forces a spill of %0.
7 name: foo
8 registers:
9   - { id: 0, class: gr64 }
10 body: |
11   bb.0:
12   ; CHECK: NOOP implicit-def [[VAL:%[0-9]+]]
13   ; VAL should be spilled before csr_noregs, i.e., before we clobber all the registers
14   ; CHECK-NEXT: MOV64mr [[SLOT:%stack.[0-9]+]], 1, $noreg, 0, $noreg, [[VAL]]
15   ; CHECK-NEXT: NOOP csr_noregs
16   ; We need to reload before the (implicit) use.
17   ; CHECK-NEXT: [[RELOADED_VAL:%[0-9]+]]:gr64 = MOV64rm [[SLOT]], 1, $noreg, 0, $noreg
18   ; CHECK-NEXT: NOOP implicit [[RELOADED_VAL]]
19   NOOP implicit-def %0
20   NOOP csr_noregs
21   NOOP implicit %0
22 ...