add what we need to fudge a 'floating point conditional move', this is
authorDuraid Madina <duraid@octopus.com.au>
Thu, 31 Mar 2005 07:32:32 +0000 (07:32 +0000)
committerDuraid Madina <duraid@octopus.com.au>
Thu, 31 Mar 2005 07:32:32 +0000 (07:32 +0000)
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

lib/Target/IA64/IA64InstrInfo.td

index f3b014d8639340c0aea78a4bc18d7e597341350c..6103a375fbdcf45323be2ccdc8058f4ee5ca0a83 100644 (file)
@@ -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),