X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FSystemZ%2Fatomicrmw-or-02.ll;h=877c642a35ae2282e32bf3293b0881feb39ff0a0;hb=5be77762a3aa434ee877b0a03b98b5c3a7571918;hp=3b8efcb80c5b9fc9e3cb8b946ed3c056c25fd0dd;hpb=b3cabb44c32b5a3aba9b4d23aae9723d498ea7a9;p=oota-llvm.git diff --git a/test/CodeGen/SystemZ/atomicrmw-or-02.ll b/test/CodeGen/SystemZ/atomicrmw-or-02.ll index 3b8efcb80c5..877c642a35a 100644 --- a/test/CodeGen/SystemZ/atomicrmw-or-02.ll +++ b/test/CodeGen/SystemZ/atomicrmw-or-02.ll @@ -13,20 +13,20 @@ ; before being used. This shift is independent of the other loop prologue ; instructions. 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: or [[ROT]], %r3 ; 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-SHIFT1: f1: +; CHECK-SHIFT1-LABEL: f1: ; CHECK-SHIFT1: sllg [[SHIFT:%r[1-9]+]], %r2, 3 ; CHECK-SHIFT1: lcr [[NEGSHIFT:%r[1-9]+]], [[SHIFT]] ; CHECK-SHIFT1: rll @@ -34,7 +34,7 @@ define i16 @f1(i16 *%src, i16 %b) { ; CHECK-SHIFT1: rll ; CHECK-SHIFT1: br %r14 ; -; CHECK-SHIFT2: f1: +; CHECK-SHIFT2-LABEL: f1: ; CHECK-SHIFT2: sll %r3, 16 ; CHECK-SHIFT2: rll ; CHECK-SHIFT2: or {{%r[0-9]+}}, %r3 @@ -47,20 +47,20 @@ define i16 @f1(i16 *%src, i16 %b) { ; Check the minimum signed value. We OR the rotated word with 0x80000000. define i16 @f2(i16 *%src) { -; CHECK: f2: -; 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: f2: +; 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: oilh [[ROT]], 32768 ; CHECK: rll [[NEW:%r[0-9]+]], [[ROT]], 0([[NEGSHIFT:%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-SHIFT1: f2: +; CHECK-SHIFT1-LABEL: f2: ; CHECK-SHIFT1: sllg [[SHIFT:%r[1-9]+]], %r2, 3 ; CHECK-SHIFT1: lcr [[NEGSHIFT:%r[1-9]+]], [[SHIFT]] ; CHECK-SHIFT1: rll @@ -68,7 +68,7 @@ define i16 @f2(i16 *%src) { ; CHECK-SHIFT1: rll ; CHECK-SHIFT1: br %r14 ; -; CHECK-SHIFT2: f2: +; CHECK-SHIFT2-LABEL: f2: ; CHECK-SHIFT2: br %r14 %res = atomicrmw or i16 *%src, i16 -32768 seq_cst ret i16 %res @@ -76,13 +76,13 @@ define i16 @f2(i16 *%src) { ; Check ORs of -2 (-1 isn't useful). We OR the rotated word with 0xfffe0000. define i16 @f3(i16 *%src) { -; CHECK: f3: +; CHECK-LABEL: f3: ; CHECK: oilh [[ROT]], 65534 ; CHECK: br %r14 ; -; CHECK-SHIFT1: f3: +; CHECK-SHIFT1-LABEL: f3: ; CHECK-SHIFT1: br %r14 -; CHECK-SHIFT2: f3: +; CHECK-SHIFT2-LABEL: f3: ; CHECK-SHIFT2: br %r14 %res = atomicrmw or i16 *%src, i16 -2 seq_cst ret i16 %res @@ -90,13 +90,13 @@ define i16 @f3(i16 *%src) { ; Check ORs of 1. We OR the rotated word with 0x00010000. define i16 @f4(i16 *%src) { -; CHECK: f4: +; CHECK-LABEL: f4: ; CHECK: oilh [[ROT]], 1 ; CHECK: br %r14 ; -; CHECK-SHIFT1: f4: +; CHECK-SHIFT1-LABEL: f4: ; CHECK-SHIFT1: br %r14 -; CHECK-SHIFT2: f4: +; CHECK-SHIFT2-LABEL: f4: ; CHECK-SHIFT2: br %r14 %res = atomicrmw or i16 *%src, i16 1 seq_cst ret i16 %res @@ -104,13 +104,13 @@ define i16 @f4(i16 *%src) { ; Check the maximum signed value. We OR the rotated word with 0x7fff0000. define i16 @f5(i16 *%src) { -; CHECK: f5: +; CHECK-LABEL: f5: ; CHECK: oilh [[ROT]], 32767 ; CHECK: br %r14 ; -; CHECK-SHIFT1: f5: +; CHECK-SHIFT1-LABEL: f5: ; CHECK-SHIFT1: br %r14 -; CHECK-SHIFT2: f5: +; CHECK-SHIFT2-LABEL: f5: ; CHECK-SHIFT2: br %r14 %res = atomicrmw or i16 *%src, i16 32767 seq_cst ret i16 %res @@ -119,13 +119,13 @@ define i16 @f5(i16 *%src) { ; Check ORs of a large unsigned value. We OR the rotated word with ; 0xfffd0000. define i16 @f6(i16 *%src) { -; CHECK: f6: +; CHECK-LABEL: f6: ; CHECK: oilh [[ROT]], 65533 ; CHECK: br %r14 ; -; CHECK-SHIFT1: f6: +; CHECK-SHIFT1-LABEL: f6: ; CHECK-SHIFT1: br %r14 -; CHECK-SHIFT2: f6: +; CHECK-SHIFT2-LABEL: f6: ; CHECK-SHIFT2: br %r14 %res = atomicrmw or i16 *%src, i16 65533 seq_cst ret i16 %res