From: Chris Lattner Date: Wed, 28 Sep 2005 17:13:15 +0000 (+0000) Subject: learn to codegen not as NOR instead of xoris/xori X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=91da8623bef655542f4402fd8b48987a0594adfc;p=oota-llvm.git learn to codegen not as NOR instead of xoris/xori git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23490 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index d4d584eaf00..3bba5883738 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -765,7 +765,11 @@ def RLDICR : MDForm_1<30, 1, // Arbitrary immediate support. Implement in terms of LIS/ORI. def : Pat<(i32 imm:$imm), (ORI (LIS (HI16 imm:$imm)), (LO16 imm:$imm))>; - + +// Implement the 'not' operation with the NOR instruction. +def NOT : Pat<(not GPRC:$in), + (NOR GPRC:$in, GPRC:$in)>; + // or by an arbitrary immediate. def : Pat<(or GPRC:$in, imm:$imm), (ORIS (ORI GPRC:$in, (LO16 imm:$imm)), (HI16 imm:$imm))>;