diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-31 12:38:08 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-31 12:38:08 +0000 |
commit | 15715fb689a5c7a2476c943a7b06616bd6d67d5e (patch) | |
tree | 6762da9af1edf3bfd0ddb093bc9b3922037757e4 /test/CodeGen/SystemZ | |
parent | 6824f127f90197b26af93cf5d6c13b7941567e54 (diff) | |
download | llvm-15715fb689a5c7a2476c943a7b06616bd6d67d5e.tar.gz llvm-15715fb689a5c7a2476c943a7b06616bd6d67d5e.tar.bz2 llvm-15715fb689a5c7a2476c943a7b06616bd6d67d5e.tar.xz |
[SystemZ] Be more careful about inverting CC masks (conditional loads)
Extend r187495 to conditional loads. I split this out because the
easiest way seemed to be to force a particular operand order in
SystemZISelDAGToDAG.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187496 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/SystemZ')
-rw-r--r-- | test/CodeGen/SystemZ/cond-load-01.ll | 14 | ||||
-rw-r--r-- | test/CodeGen/SystemZ/cond-load-02.ll | 14 |
2 files changed, 14 insertions, 14 deletions
diff --git a/test/CodeGen/SystemZ/cond-load-01.ll b/test/CodeGen/SystemZ/cond-load-01.ll index 59ed90c99e..1030226798 100644 --- a/test/CodeGen/SystemZ/cond-load-01.ll +++ b/test/CodeGen/SystemZ/cond-load-01.ll @@ -8,7 +8,7 @@ declare i32 @foo(i32 *) define i32 @f1(i32 %easy, i32 *%ptr, i32 %limit) { ; CHECK-LABEL: f1: ; CHECK: clfi %r4, 42 -; CHECK: locnl %r2, 0(%r3) +; CHECK: loche %r2, 0(%r3) ; CHECK: br %r14 %cond = icmp ult i32 %limit, 42 %other = load i32 *%ptr @@ -32,7 +32,7 @@ define i32 @f2(i32 %easy, i32 *%ptr, i32 %limit) { define i32 @f3(i32 %easy, i32 *%base, i32 %limit) { ; CHECK-LABEL: f3: ; CHECK: clfi %r4, 42 -; CHECK: locnl %r2, 524284(%r3) +; CHECK: loche %r2, 524284(%r3) ; CHECK: br %r14 %ptr = getelementptr i32 *%base, i64 131071 %cond = icmp ult i32 %limit, 42 @@ -46,7 +46,7 @@ define i32 @f4(i32 %easy, i32 *%base, i32 %limit) { ; CHECK-LABEL: f4: ; CHECK: agfi %r3, 524288 ; CHECK: clfi %r4, 42 -; CHECK: locnl %r2, 0(%r3) +; CHECK: loche %r2, 0(%r3) ; CHECK: br %r14 %ptr = getelementptr i32 *%base, i64 131072 %cond = icmp ult i32 %limit, 42 @@ -59,7 +59,7 @@ define i32 @f4(i32 %easy, i32 *%base, i32 %limit) { define i32 @f5(i32 %easy, i32 *%base, i32 %limit) { ; CHECK-LABEL: f5: ; CHECK: clfi %r4, 42 -; CHECK: locnl %r2, -524288(%r3) +; CHECK: loche %r2, -524288(%r3) ; CHECK: br %r14 %ptr = getelementptr i32 *%base, i64 -131072 %cond = icmp ult i32 %limit, 42 @@ -73,7 +73,7 @@ define i32 @f6(i32 %easy, i32 *%base, i32 %limit) { ; CHECK-LABEL: f6: ; CHECK: agfi %r3, -524292 ; CHECK: clfi %r4, 42 -; CHECK: locnl %r2, 0(%r3) +; CHECK: loche %r2, 0(%r3) ; CHECK: br %r14 %ptr = getelementptr i32 *%base, i64 -131073 %cond = icmp ult i32 %limit, 42 @@ -86,7 +86,7 @@ define i32 @f6(i32 %easy, i32 *%base, i32 %limit) { define i32 @f7(i32 %alt, i32 %limit) { ; CHECK-LABEL: f7: ; CHECK: brasl %r14, foo@PLT -; CHECK: locnl %r2, {{[0-9]+}}(%r15) +; CHECK: loche %r2, {{[0-9]+}}(%r15) ; CHECK: br %r14 %ptr = alloca i32 %easy = call i32 @foo(i32 *%ptr) @@ -100,7 +100,7 @@ define i32 @f7(i32 %alt, i32 %limit) { define i32 @f8(i32 %easy, i32 %limit, i64 %base, i64 %index) { ; CHECK-LABEL: f8: ; CHECK: clfi %r3, 42 -; CHECK: locnl %r2, 0({{%r[1-5]}}) +; CHECK: loche %r2, 0({{%r[1-5]}}) ; CHECK: br %r14 %add = add i64 %base, %index %ptr = inttoptr i64 %add to i32 * diff --git a/test/CodeGen/SystemZ/cond-load-02.ll b/test/CodeGen/SystemZ/cond-load-02.ll index 50adb3507d..e97f4728bc 100644 --- a/test/CodeGen/SystemZ/cond-load-02.ll +++ b/test/CodeGen/SystemZ/cond-load-02.ll @@ -8,7 +8,7 @@ declare i64 @foo(i64 *) define i64 @f1(i64 %easy, i64 *%ptr, i64 %limit) { ; CHECK-LABEL: f1: ; CHECK: clgfi %r4, 42 -; CHECK: locgnl %r2, 0(%r3) +; CHECK: locghe %r2, 0(%r3) ; CHECK: br %r14 %cond = icmp ult i64 %limit, 42 %other = load i64 *%ptr @@ -32,7 +32,7 @@ define i64 @f2(i64 %easy, i64 *%ptr, i64 %limit) { define i64 @f3(i64 %easy, i64 *%base, i64 %limit) { ; CHECK-LABEL: f3: ; CHECK: clgfi %r4, 42 -; CHECK: locgnl %r2, 524280(%r3) +; CHECK: locghe %r2, 524280(%r3) ; CHECK: br %r14 %ptr = getelementptr i64 *%base, i64 65535 %cond = icmp ult i64 %limit, 42 @@ -46,7 +46,7 @@ define i64 @f4(i64 %easy, i64 *%base, i64 %limit) { ; CHECK-LABEL: f4: ; CHECK: agfi %r3, 524288 ; CHECK: clgfi %r4, 42 -; CHECK: locgnl %r2, 0(%r3) +; CHECK: locghe %r2, 0(%r3) ; CHECK: br %r14 %ptr = getelementptr i64 *%base, i64 65536 %cond = icmp ult i64 %limit, 42 @@ -59,7 +59,7 @@ define i64 @f4(i64 %easy, i64 *%base, i64 %limit) { define i64 @f5(i64 %easy, i64 *%base, i64 %limit) { ; CHECK-LABEL: f5: ; CHECK: clgfi %r4, 42 -; CHECK: locgnl %r2, -524288(%r3) +; CHECK: locghe %r2, -524288(%r3) ; CHECK: br %r14 %ptr = getelementptr i64 *%base, i64 -65536 %cond = icmp ult i64 %limit, 42 @@ -73,7 +73,7 @@ define i64 @f6(i64 %easy, i64 *%base, i64 %limit) { ; CHECK-LABEL: f6: ; CHECK: agfi %r3, -524296 ; CHECK: clgfi %r4, 42 -; CHECK: locgnl %r2, 0(%r3) +; CHECK: locghe %r2, 0(%r3) ; CHECK: br %r14 %ptr = getelementptr i64 *%base, i64 -65537 %cond = icmp ult i64 %limit, 42 @@ -86,7 +86,7 @@ define i64 @f6(i64 %easy, i64 *%base, i64 %limit) { define i64 @f7(i64 %alt, i64 %limit) { ; CHECK-LABEL: f7: ; CHECK: brasl %r14, foo@PLT -; CHECK: locgnl %r2, {{[0-9]+}}(%r15) +; CHECK: locghe %r2, {{[0-9]+}}(%r15) ; CHECK: br %r14 %ptr = alloca i64 %easy = call i64 @foo(i64 *%ptr) @@ -100,7 +100,7 @@ define i64 @f7(i64 %alt, i64 %limit) { define i64 @f8(i64 %easy, i64 %limit, i64 %base, i64 %index) { ; CHECK-LABEL: f8: ; CHECK: clgfi %r3, 42 -; CHECK: locgnl %r2, 0({{%r[1-5]}}) +; CHECK: locghe %r2, 0({{%r[1-5]}}) ; CHECK: br %r14 %add = add i64 %base, %index %ptr = inttoptr i64 %add to i64 * |