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

Duraid Madina duraid at octopus.com.au
Tue Jan 10 17:21:24 PST 2006



Changes in directory llvm/lib/Target/IA64:

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

add support for selecting bools

FIXME: this is commented out because it makes tblgen go a bit fruity



---
Diffs of the changes:  (+5 -1)

 IA64InstrInfo.td |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/IA64/IA64InstrInfo.td
diff -u llvm/lib/Target/IA64/IA64InstrInfo.td:1.35 llvm/lib/Target/IA64/IA64InstrInfo.td:1.36
--- llvm/lib/Target/IA64/IA64InstrInfo.td:1.35	Mon Dec 26 03:11:45 2005
+++ llvm/lib/Target/IA64/IA64InstrInfo.td	Tue Jan 10 19:21:12 2006
@@ -424,11 +424,15 @@
     "($qp) mov $dst = $src;;">;
 }
 
-// TODO: select bools
 def SELECTINT : Pat<(select PR:$which, GR:$src1, GR:$src2),
           (CMOV (MOV GR:$src2), GR:$src1, PR:$which)>; // note order!
 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))>;
 
 // 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