aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/IA64/IA64InstrInfo.td8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td
index 27888185d6..f18b451b7f 100644
--- a/lib/Target/IA64/IA64InstrInfo.td
+++ b/lib/Target/IA64/IA64InstrInfo.td
@@ -429,10 +429,10 @@ def SELECTINT : Pat<(select PR:$which, GR:$src1, GR:$src2),
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)>;