aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuraid Madina <duraid@octopus.com.au>2005-03-31 07:32:32 +0000
committerDuraid Madina <duraid@octopus.com.au>2005-03-31 07:32:32 +0000
commit291e1266c117eba4aedf88e3c0e43f7dc232f8d9 (patch)
treefa4a301925f4cc1f42750cd1b5597fc3430c11df
parent96fc681d7e7bf7b40fa61c1d33065a8025acdeb9 (diff)
add what we need to fudge a 'floating point conditional move', this is
used to get FP div-by-zero working properly (shunt the right answer depending on how frcpa sets its predicate output) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20954 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/IA64/IA64InstrInfo.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td
index f3b014d863..6103a375fb 100644
--- a/lib/Target/IA64/IA64InstrInfo.td
+++ b/lib/Target/IA64/IA64InstrInfo.td
@@ -59,6 +59,14 @@ let isTwoAddress = 1 in {
"($qp) mov $dst = $src;;">;
}
+def PFMOV : AForm<0x03, 0x0b, (ops FP:$dst, FP:$src, PR:$qp),
+ "($qp) mov $dst = $src;;">;
+
+let isTwoAddress = 1 in {
+ def CFMOV : AForm<0x03, 0x0b, (ops FP:$dst, FP:$src2, FP:$src, PR:$qp),
+ "($qp) mov $dst = $src;;">;
+}
+
let isTwoAddress = 1 in {
def TCMPNE : AForm<0x03, 0x0b,
(ops PR:$dst, PR:$src2, GR:$src3, GR:$src4),