From 07ac89f30af4a58cf9344481f558d756fe25f468 Mon Sep 17 00:00:00 2001 From: Duraid Madina Date: Wed, 11 Jan 2006 01:21:12 +0000 Subject: [PATCH] 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 --- lib/Target/IA64/IA64InstrInfo.td | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td index a38338ffca6..27888185d66 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)>;