From: Nate Begeman Date: Fri, 21 Oct 2005 06:36:18 +0000 (+0000) Subject: Match rotate. This does actually match the rotates in an rc5 cipher, but I X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ae1641c39fe9886e4b22a5d79b5a25b4041b62bd;p=oota-llvm.git Match rotate. This does actually match the rotates in an rc5 cipher, but I haven't seen it fire on our testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23863 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index 61be2ea648e..97beafb4e54 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -742,6 +742,9 @@ def : Pat<(or GPRC:$in, imm:$imm), // XOR an arbitrary immediate. def : Pat<(xor GPRC:$in, imm:$imm), (XORIS (XORI GPRC:$in, (LO16 imm:$imm)), (HI16 imm:$imm))>; +def : Pat<(or (shl GPRC:$rS, GPRC:$rB), + (srl GPRC:$rS, (sub 32, GPRC:$rB))), + (RLWNM GPRC:$rS, GPRC:$rB, 0, 31)>; def : Pat<(zext GPRC:$in), (RLDICL (OR4To8 GPRC:$in, GPRC:$in), 0, 32)>;