aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDuraid Madina <duraid@octopus.com.au>2006-01-11 01:21:12 +0000
committerDuraid Madina <duraid@octopus.com.au>2006-01-11 01:21:12 +0000
commit07ac89f30af4a58cf9344481f558d756fe25f468 (patch)
treeb7de19fdfcdf25461a315d50613d35a4aa45a56c /lib
parent92cb0af6754b0d20b9eda4b459a5a27578bfd9ae (diff)
add support for selecting bools
FIXME: this is commented out because it makes tblgen go a bit fruity git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25193 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/IA64/IA64InstrInfo.td6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td
index a38338ffca..27888185d6 100644
--- a/lib/Target/IA64/IA64InstrInfo.td
+++ b/lib/Target/IA64/IA64InstrInfo.td
@@ -424,11 +424,15 @@ let isTwoAddress = 1 in {
"($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)>;