summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/SystemZ/memcmp-02.ll
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-28 09:01:51 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-28 09:01:51 +0000
commitbe133a8757103c430a36f15d6210f99a0206921f (patch)
treeb7fbe8c30f705b3149550df35217d029f41e6e49 /llvm/test/CodeGen/SystemZ/memcmp-02.ll
parentfab933641342fb3c6695789117634018be37a6aa (diff)
downloadbcm5719-llvm-be133a8757103c430a36f15d6210f99a0206921f.tar.gz
bcm5719-llvm-be133a8757103c430a36f15d6210f99a0206921f.zip
[SystemZ] Extend memcmp support to all constant lengths
This uses the infrastructure added for memcpy and memmove in r189331. llvm-svn: 189458
Diffstat (limited to 'llvm/test/CodeGen/SystemZ/memcmp-02.ll')
-rw-r--r--llvm/test/CodeGen/SystemZ/memcmp-02.ll8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/SystemZ/memcmp-02.ll b/llvm/test/CodeGen/SystemZ/memcmp-02.ll
index cae3d3d4943..74b090dcdd8 100644
--- a/llvm/test/CodeGen/SystemZ/memcmp-02.ll
+++ b/llvm/test/CodeGen/SystemZ/memcmp-02.ll
@@ -125,10 +125,14 @@ exit:
ret i64 %res
}
-; 257 bytes is too big for a single CLC. For now expect a call instead.
+; 257 bytes needs two CLCs.
define i64 @f8(i8 *%src1, i8 *%src2) {
; CHECK-LABEL: f8:
-; CHECK: brasl %r14, memcmp@PLT
+; CHECK: clc 0(256,%r2), 0(%r3)
+; CHECK: jlh [[LABEL:\..*]]
+; CHECK: clc 256(1,%r2), 256(%r3)
+; CHECK: [[LABEL]]:
+; CHECK: ipm [[REG:%r[0-5]]]
; CHECK: br %r14
%res = call i64 @memcmp(i8 *%src1, i8 *%src2, i64 257)
ret i64 %res
OpenPOWER on IntegriCloud