X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FSystemZ%2Fatomicrmw-xchg-02.ll;h=04be623ada89217b7c4a34353ae1fad306bc3d34;hb=7a4dd51e12ff5acea330800972eaa4a75ceea341;hp=1b6e84660d64455f5b84f3e13e972fa00ab94f20;hpb=b3cabb44c32b5a3aba9b4d23aae9723d498ea7a9;p=oota-llvm.git diff --git a/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll b/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll index 1b6e84660d6..04be623ada8 100644 --- a/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll +++ b/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll @@ -11,20 +11,20 @@ ; being used in the RISBG (in contrast to things like atomic addition, ; which shift %r3 left so that %b is at the high end of the word). define i16 @f1(i16 *%src, i16 %b) { -; CHECK: f1: -; CHECK-DAG: sllg [[SHIFT:%r[1-9]+]], %r2, 3 -; CHECK-DAG: risbg [[BASE:%r[1-9]+]], %r2, 0, 189, 0 -; CHECK: l [[OLD:%r[0-9]+]], 0([[BASE]]) +; CHECK-LABEL: f1: +; CHECK: sllg [[SHIFT:%r[1-9]+]], %r2, 3 +; CHECK: nill %r2, 65532 +; CHECK: l [[OLD:%r[0-9]+]], 0(%r2) ; CHECK: [[LABEL:\.[^:]*]]: ; CHECK: rll [[ROT:%r[0-9]+]], [[OLD]], 0([[SHIFT]]) ; CHECK: risbg [[ROT]], %r3, 32, 47, 16 ; CHECK: rll [[NEW:%r[0-9]+]], [[ROT]], 0({{%r[1-9]+}}) -; CHECK: cs [[OLD]], [[NEW]], 0([[BASE]]) -; CHECK: jlh [[LABEL]] +; CHECK: cs [[OLD]], [[NEW]], 0(%r2) +; CHECK: jl [[LABEL]] ; CHECK: rll %r2, [[OLD]], 16([[SHIFT]]) ; CHECK: br %r14 ; -; CHECK-SHIFT: f1: +; CHECK-SHIFT-LABEL: f1: ; CHECK-SHIFT-NOT: %r3 ; CHECK-SHIFT: sllg [[SHIFT:%r[1-9]+]], %r2, 3 ; CHECK-SHIFT-NOT: %r3 @@ -43,12 +43,12 @@ define i16 @f1(i16 *%src, i16 %b) { ; Check exchange with a constant. We should force the constant into ; a register and use the sequence above. define i16 @f2(i16 *%src) { -; CHECK: f2: +; CHECK-LABEL: f2: ; CHECK: lhi [[VALUE:%r[0-9]+]], -25536 ; CHECK: risbg {{%r[0-9]+}}, [[VALUE]], 32, 47, 16 ; CHECK: br %r14 ; -; CHECK-SHIFT: f2: +; CHECK-SHIFT-LABEL: f2: ; CHECK-SHIFT: br %r14 %res = atomicrmw xchg i16 *%src, i16 40000 seq_cst ret i16 %res