we need to emit the getf.d instruction in lowering, so add it
to IA64ISD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24946 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td
index 28462f3..f41ade2 100644
--- a/lib/Target/IA64/IA64InstrInfo.td
+++ b/lib/Target/IA64/IA64InstrInfo.td
@@ -15,6 +15,14 @@
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 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;;">;