[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / cmpxchg.mir
blob5166eb4512d73bf608ca121dd296c234c5d87f9b
1 # RUN: llc -o - %s -mtriple=armv7-unknown-linux-gnu -verify-machineinstrs -run-pass=arm-pseudo | FileCheck %s
2 ---
3 # CHECK-LABEL: name: func
4 name: func
5 tracksRegLiveness: true
6 body: |
7   bb.0:
8     liveins: $r0_r1, $r4_r5, $r3, $lr
9     dead early-clobber renamable $r0_r1, dead early-clobber renamable $r2 = CMP_SWAP_64 killed renamable $r3, killed renamable $r4_r5, renamable $r4_r5 :: (volatile load store monotonic monotonic 8)
10     ; CHECK: bb.0:
11     ; CHECK:   liveins: $r0_r1, $r4_r5, $r3, $lr
12     ; CHECK: bb.1:
13     ; CHECK:   liveins: $r4_r5, $r3
14     ; CHECK:   $r0_r1 = LDREXD $r3, 14, $noreg
15     ; CHECK:   CMPrr killed $r0, $r4, 14, $noreg, implicit-def $cpsr
16     ; CHECK:   CMPrr killed $r1, $r5, 0, killed $cpsr, implicit-def $cpsr
17     ; CHECK:   Bcc %bb.3, 1, killed $cpsr
18     ; CHECK: bb.2:
19     ; CHECK:   liveins: $r4_r5, $r3
20     ; CHECK:   early-clobber $r2 = STREXD $r4_r5, $r3, 14, $noreg
21     ; CHECK:   CMPri killed $r2, 0, 14, $noreg, implicit-def $cpsr
22     ; CHECK:   Bcc %bb.1, 1, killed $cpsr
23     ; CHECK: bb.3:
24 ...