OSDN Git Service

we need to emit the getf.d instruction in lowering, so add it
authorDuraid Madina <duraid@octopus.com.au>
Thu, 22 Dec 2005 06:38:38 +0000 (06:38 +0000)
committerDuraid Madina <duraid@octopus.com.au>
Thu, 22 Dec 2005 06:38:38 +0000 (06:38 +0000)
to IA64ISD

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24946 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/IA64/IA64InstrInfo.td

index 28462f3..f41ade2 100644 (file)
 
 include "IA64InstrFormats.td"
 
+//===----------------------------------------------------------------------===//
+// IA-64 specific DAG Nodes.
+//
+
+def IA64getfd : SDNode<"IA64ISD::GETFD", SDTFPToIntOp, []>;
+
+//===---------
+
 def u2imm : Operand<i8>;
 def u6imm : Operand<i8>;
 def s8imm : Operand<i8> {
@@ -614,8 +622,9 @@ def FCVTFXUTRUNCS1 : AForm<0x03, 0x0b, (ops FP:$dst, FP:$src),
 def FNORMD : AForm<0x03, 0x0b, (ops FP:$dst, FP:$src),
   "fnorm.d $dst = $src;;">;
 
-def GETFD : AForm<0x03, 0x0b, (ops GR:$dst, FP:$src),
-  "getf.d $dst = $src;;">;
+def GETFD : AForm_DAG<0x03, 0x0b, (ops GR:$dst, FP:$src),
+  "getf.d $dst = $src;;",
+  [(set GR:$dst, (IA64getfd FP:$src))]>;
 def SETFD : AForm<0x03, 0x0b, (ops FP:$dst, GR:$src),
   "setf.d $dst = $src;;">;