diff --git a/lib/Target/IA64/IA64InstrInfo.td b/lib/Target/IA64/IA64InstrInfo.td index 28462f39169..f41ade27d9e 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; def u6imm : Operand; def s8imm : Operand { @@ -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;;">;