blob: c400cdaa7c8e91b1f8c74e3b3bc2a131f9ce1a8b [file] [edit]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
# RUN: llc -mtriple=riscv32 -mattr=+a -run-pass=riscv-expand-pseudo-atomics \
# RUN: %s -o - | FileCheck %s
# RUN: llc -mtriple=riscv64 -mattr=+a -run-pass=riscv-expand-pseudo-atomics \
# RUN: %s -o - | FileCheck %s
# RUN: llc -mtriple=riscv32 -mattr=+a -passes=riscv-expand-pseudo-atomics \
# RUN: %s -o - | FileCheck %s
# RUN: llc -mtriple=riscv64 -mattr=+a -passes=riscv-expand-pseudo-atomics \
# RUN: %s -o - | FileCheck %s
--- |
define void @test() #0 {
ret void
}
attributes #0 = { noinline optnone }
...
---
name: test
tracksRegLiveness: true
noVRegs: true
body: |
bb.0:
liveins: $x10, $x11
; CHECK-LABEL: name: test
; CHECK: successors: %bb.1(0x80000000)
; CHECK-NEXT: liveins: $x10, $x11
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: .1:
; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
; CHECK-NEXT: liveins: $x10, $x11
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: $x12 = LR_W $x10
; CHECK-NEXT: $x13 = AND $x12, $x11
; CHECK-NEXT: $x13 = XORI $x13, -1
; CHECK-NEXT: $x13 = SC_W $x13, $x10
; CHECK-NEXT: BNE $x13, $x0, %bb.1
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: .2:
; CHECK-NEXT: PseudoRET
early-clobber $x12, early-clobber $x13 = PseudoAtomicLoadNand32 $x10, $x11, 2
PseudoRET
...