[SystemZ] Implement memcmp of variable length with CLC.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Tue, 3 Aug 2021 17:49:45 +0000 (19:49 +0200)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Tue, 5 Oct 2021 16:20:36 +0000 (18:20 +0200)
commit7a4e9a0c73667cb80e4572d41535a9e48f1ed9ef
treee18105efb748cbda91496d0e1a0fda1e4aa04fc6
parent64eaffb613d0cb7fa7542fa48281a2e617ad8ee9
[SystemZ] Implement memcmp of variable length with CLC.

Following the same pattern of memset/memcpy, this patch implements a variable
length memcmp with a CLC loop followed by an EXRL instruction.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D107380
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
llvm/lib/Target/SystemZ/SystemZInstrFormats.td
llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
llvm/test/CodeGen/SystemZ/memcmp-01.ll