[llvm-commits] CVS: llvm/lib/Target/IA64/IA64InstrInfo.td

Duraid Madina duraid at octopus.com.au
Tue Jan 10 17:38:20 PST 2006



Changes in directory llvm/lib/Target/IA64:

IA64InstrInfo.td updated: 1.36 -> 1.37
---
Log message:

this just might work



---
Diffs of the changes:  (+4 -4)

 IA64InstrInfo.td |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/IA64/IA64InstrInfo.td
diff -u llvm/lib/Target/IA64/IA64InstrInfo.td:1.36 llvm/lib/Target/IA64/IA64InstrInfo.td:1.37
--- llvm/lib/Target/IA64/IA64InstrInfo.td:1.36	Tue Jan 10 19:21:12 2006
+++ llvm/lib/Target/IA64/IA64InstrInfo.td	Tue Jan 10 19:38:07 2006
@@ -429,10 +429,10 @@
 def SELECTFP : Pat<(select PR:$which, FP:$src1, FP:$src2),
           (CFMOV (FMOV FP:$src2), FP:$src1, PR:$which)>; // note order!
 // TODO: can do this faster, w/o using any integer regs (see pattern isel)
-// FIXME: this makes tblgen cough and splutter:
-// Assertion && "Unknown node in result pattern!"'
-//def SELECTBOOL : Pat<(select PR:$which, PR:$src1, PR:$src2), // note order!
-//          (trunc (CMOV (MOV (zext PR:$src2)), (zext PR:$src1), PR:$which))>;
+def SELECTBOOL : Pat<(select PR:$which, PR:$src1, PR:$src2), // note order!
+          (CMPNE (CMOV
+            (MOV (TPCADDIMM22 (ADDS r0, 0), 1, PR:$src2)),
+            (TPCADDIMM22 (ADDS r0, 0), 1, PR:$src1), PR:$which), r0)>;
 
 // load constants of various sizes // FIXME: prettyprint -ve constants
 def : Pat<(i64 immSExt14:$imm), (ADDS r0, immSExt14:$imm)>;






More information about the llvm-commits mailing list