Export `lq`, `stq`, `lqarx` and `stqcx.` in preparation for implementing 16-byte lock free atomic operations on AIX. Add a new register class `g8prc` for these instructions, since these instructions require even-odd register pair. Reviewed By: nemanjai, jsji, #powerpc Differential Revision: https://reviews.llvm.org/D103010
24 lines
554 B
YAML
24 lines
554 B
YAML
# RUN: llc -simplify-mir -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
|
|
# RUN: %s -o - | FileCheck %s
|
|
|
|
---
|
|
name: foo
|
|
alignment: 8
|
|
tracksRegLiveness: true
|
|
body: |
|
|
bb.0.entry:
|
|
liveins: $x3, $x4, $x30, $x31
|
|
; CHECK-LABEL: .foo
|
|
; CHECK: lq 2, 128(4)
|
|
; CHECK: lqarx 28, 30, 31
|
|
; CHECK: stqcx. 28, 30, 31
|
|
; CHECK: stq 2, 128(4)
|
|
$g8p1 = LQ 128, $x4
|
|
$g8p14 = LQARX $x30, $x31
|
|
STQCX $g8p14, $x30, $x31, implicit-def $cr0
|
|
STQ $g8p1, 128, $x4
|
|
$x3 = COPY $x31
|
|
BLR8 implicit $lr8, implicit undef $rm, implicit $x3
|
|
...
|
|
|