Mercurial > hg > CbC > CbC_llvm
diff test/CodeGen/SystemZ/atomicrmw-minmax-03.ll @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | 1172e4bd9c6f |
children |
line wrap: on
line diff
--- a/test/CodeGen/SystemZ/atomicrmw-minmax-03.ll Fri Nov 25 19:14:25 2016 +0900 +++ b/test/CodeGen/SystemZ/atomicrmw-minmax-03.ll Fri Oct 27 17:07:41 2017 +0900 @@ -7,13 +7,15 @@ define i32 @f1(i32 %dummy, i32 *%src, i32 %b) { ; CHECK-LABEL: f1: ; CHECK: l %r2, 0(%r3) -; CHECK: [[LOOP:\.[^:]*]]: -; CHECK: lr [[NEW:%r[0-9]+]], %r2 +; CHECK: j [[LOOP:\.[^:]*]] +; CHECK: [[BB1:\.[^:]*]]: +; CHECK: cs %r2, [[NEW:%r[0-9]+]], 0(%r3) +; CHECK: ber %r14 +; CHECK: [[LOOP]]: +; CHECK: lr [[NEW]], %r2 ; CHECK: crjle %r2, %r4, [[KEEP:\..*]] ; CHECK: lr [[NEW]], %r4 -; CHECK: cs %r2, [[NEW]], 0(%r3) -; CHECK: ber %r14 -; CHECK: j [[LOOP]] +; CHECK: j [[BB1]] %res = atomicrmw min i32 *%src, i32 %b seq_cst ret i32 %res } @@ -22,13 +24,15 @@ define i32 @f2(i32 %dummy, i32 *%src, i32 %b) { ; CHECK-LABEL: f2: ; CHECK: l %r2, 0(%r3) -; CHECK: [[LOOP:\.[^:]*]]: -; CHECK: lr [[NEW:%r[0-9]+]], %r2 +; CHECK: j [[LOOP:\.[^:]*]] +; CHECK: [[BB1:\.[^:]*]]: +; CHECK: cs %r2, [[NEW:%r[0-9]+]], 0(%r3) +; CHECK: ber %r14 +; CHECK: [[LOOP]]: +; CHECK: lr [[NEW]], %r2 ; CHECK: crjhe %r2, %r4, [[KEEP:\..*]] ; CHECK: lr [[NEW]], %r4 -; CHECK: cs %r2, [[NEW]], 0(%r3) -; CHECK: ber %r14 -; CHECK: j [[LOOP]] +; CHECK: j [[BB1]] %res = atomicrmw max i32 *%src, i32 %b seq_cst ret i32 %res } @@ -37,13 +41,15 @@ define i32 @f3(i32 %dummy, i32 *%src, i32 %b) { ; CHECK-LABEL: f3: ; CHECK: l %r2, 0(%r3) -; CHECK: [[LOOP:\.[^:]*]]: -; CHECK: lr [[NEW:%r[0-9]+]], %r2 +; CHECK: j [[LOOP:\.[^:]*]] +; CHECK: [[BB1:\.[^:]*]]: +; CHECK: cs %r2, [[NEW:%r[0-9]+]], 0(%r3) +; CHECK: ber %r14 +; CHECK: [[LOOP]]: +; CHECK: lr [[NEW]], %r2 ; CHECK: clrjle %r2, %r4, [[KEEP:\..*]] ; CHECK: lr [[NEW]], %r4 -; CHECK: cs %r2, [[NEW]], 0(%r3) -; CHECK: ber %r14 -; CHECK: j [[LOOP]] +; CHECK: j [[BB1]] %res = atomicrmw umin i32 *%src, i32 %b seq_cst ret i32 %res } @@ -52,13 +58,15 @@ define i32 @f4(i32 %dummy, i32 *%src, i32 %b) { ; CHECK-LABEL: f4: ; CHECK: l %r2, 0(%r3) -; CHECK: [[LOOP:\.[^:]*]]: -; CHECK: lr [[NEW:%r[0-9]+]], %r2 +; CHECK: j [[LOOP:\.[^:]*]] +; CHECK: [[BB1:\.[^:]*]]: +; CHECK: cs %r2, [[NEW:%r[0-9]+]], 0(%r3) +; CHECK: ber %r14 +; CHECK: [[LOOP]]: +; CHECK: lr [[NEW]], %r2 ; CHECK: clrjhe %r2, %r4, [[KEEP:\..*]] ; CHECK: lr [[NEW]], %r4 -; CHECK: cs %r2, [[NEW]], 0(%r3) -; CHECK: ber %r14 -; CHECK: j [[LOOP]] +; CHECK: j [[BB1]] %res = atomicrmw umax i32 *%src, i32 %b seq_cst ret i32 %res } @@ -159,14 +167,15 @@ define i32 @f13(i32 %dummy, i32 *%ptr) { ; CHECK-LABEL: f13: ; CHECK: lhi [[LIMIT:%r[0-9]+]], 42 -; CHECK: l %r2, 0(%r3) -; CHECK: [[LOOP:\.[^:]*]]: -; CHECK: lr [[NEW:%r[0-9]+]], %r2 +; CHECK: j [[LOOP:\.[^:]*]] +; CHECK: [[BB1:\.[^:]*]]: +; CHECK: cs %r2, [[NEW:%r[0-9]+]], 0(%r3) +; CHECK: ber %r14 +; CHECK: [[LOOP]]: +; CHECK: lr [[NEW]], %r2 ; CHECK: crjle %r2, [[LIMIT]], [[KEEP:\..*]] ; CHECK: lhi [[NEW]], 42 -; CHECK: cs %r2, [[NEW]], 0(%r3) -; CHECK: ber %r14 -; CHECK: j [[LOOP]] +; CHECK: j [[BB1]] %res = atomicrmw min i32 *%ptr, i32 42 seq_cst ret i32 %res }