mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
Fix a couple of copy-n-paste bugs. Noticed by George Russell.
llvm-svn: 147032
This commit is contained in:
parent
2c2140a128
commit
fb22f64814
@ -4212,10 +4212,10 @@ let usesCustomInserter = 1 in {
|
||||
[(set GPR:$dst, (atomic_load_max_32 GPR:$ptr, GPR:$val))]>;
|
||||
def ATOMIC_LOAD_UMIN_I32 : PseudoInst<
|
||||
(outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary,
|
||||
[(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>;
|
||||
[(set GPR:$dst, (atomic_load_umin_32 GPR:$ptr, GPR:$val))]>;
|
||||
def ATOMIC_LOAD_UMAX_I32 : PseudoInst<
|
||||
(outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary,
|
||||
[(set GPR:$dst, (atomic_load_max_32 GPR:$ptr, GPR:$val))]>;
|
||||
[(set GPR:$dst, (atomic_load_umax_32 GPR:$ptr, GPR:$val))]>;
|
||||
|
||||
def ATOMIC_SWAP_I8 : PseudoInst<
|
||||
(outs GPR:$dst), (ins GPR:$ptr, GPR:$new), NoItinerary,
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -mtriple=armv7-apple-darwin10 -verify-machineinstrs | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 -verify-machineinstrs | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=armv7-apple-ios -verify-machineinstrs | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=thumbv7-apple-ios -verify-machineinstrs | FileCheck %s
|
||||
|
||||
define void @func(i32 %argc, i8** %argv) nounwind {
|
||||
entry:
|
||||
@ -61,7 +61,7 @@ entry:
|
||||
; CHECK: strex
|
||||
%7 = atomicrmw min i32* %val2, i32 16 monotonic
|
||||
store i32 %7, i32* %old
|
||||
%neg = sub i32 0, 1 ; <i32> [#uses=1]
|
||||
%neg = sub i32 0, 1
|
||||
; CHECK: ldrex
|
||||
; CHECK: cmp
|
||||
; CHECK: strex
|
||||
@ -77,5 +77,27 @@ entry:
|
||||
; CHECK: strex
|
||||
%10 = atomicrmw max i32* %val2, i32 0 monotonic
|
||||
store i32 %10, i32* %old
|
||||
; CHECK: ldrex
|
||||
; CHECK: cmp
|
||||
; CHECK: strex
|
||||
%11 = atomicrmw umin i32* %val2, i32 16 monotonic
|
||||
store i32 %11, i32* %old
|
||||
%uneg = sub i32 0, 1
|
||||
; CHECK: ldrex
|
||||
; CHECK: cmp
|
||||
; CHECK: strex
|
||||
%12 = atomicrmw umin i32* %val2, i32 %uneg monotonic
|
||||
store i32 %12, i32* %old
|
||||
; CHECK: ldrex
|
||||
; CHECK: cmp
|
||||
; CHECK: strex
|
||||
%13 = atomicrmw umax i32* %val2, i32 1 monotonic
|
||||
store i32 %13, i32* %old
|
||||
; CHECK: ldrex
|
||||
; CHECK: cmp
|
||||
; CHECK: strex
|
||||
%14 = atomicrmw umax i32* %val2, i32 0 monotonic
|
||||
store i32 %14, i32* %old
|
||||
|
||||
ret void
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user