learn to codegen not as NOR instead of xoris/xori
authorChris Lattner <sabre@nondot.org>
Wed, 28 Sep 2005 17:13:15 +0000 (17:13 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 28 Sep 2005 17:13:15 +0000 (17:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23490 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCInstrInfo.td

index d4d584eaf00c77982ee8b6f6d5daf5bd52206aa4..3bba5883738b7551449666967afd287ec1c769db 100644 (file)
@@ -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))>;