fix boolean XOR (which fixes up comparisons..)
authorDuraid Madina <duraid@octopus.com.au>
Thu, 19 Jan 2006 15:18:56 +0000 (15:18 +0000)
committerDuraid Madina <duraid@octopus.com.au>
Thu, 19 Jan 2006 15:18:56 +0000 (15:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25462 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/IA64/IA64InstrInfo.td

index 3d527206560ef64bfaa00263691cd5056e995107..0eacfafbb46884c0c0a7abcaf4a27776992354e5 100644 (file)
@@ -142,6 +142,9 @@ let isTwoAddress = 1 in {
 def TPCADDIMM22 : AForm<0x03, 0x0b,
   (ops GR:$dst, GR:$src1, s22imm:$imm, PR:$qp),
     "($qp) add $dst = $imm, $dst;;">;
+def TPCADDS : AForm<0x03, 0x0b,
+  (ops GR:$dst, GR:$src1, s14imm:$imm, PR:$qp),
+    "($qp) adds $dst = $imm, $dst;;">;
 def TPCMPIMM8NE : AForm<0x03, 0x0b,
   (ops PR:$dst, PR:$src1, s22imm:$imm, GR:$src2, PR:$qp),
     "($qp) cmp.ne $dst , p0 = $imm, $src2;;">;
@@ -377,7 +380,7 @@ def bAND  : Pat<(and PR:$src1, PR:$src2),
   
 def bXOR  : Pat<(xor PR:$src1, PR:$src2),
           (TPCMPIMM8NE (PCMPEQUNCR0R0 PR:$src2), 1,
-                      (PADDS r0, 1, PR:$src2),
+                      (TPCADDS (ADDS r0, 0), 1, PR:$src2),
                         PR:$src1)>;
 
 def XOR   : AForm_DAG<0x03, 0x0b, (ops GR:$dst, GR:$src1, GR:$src2),