Changes in directory llvm/lib/Target/ARM:
ARMInstrInfo.td updated: 1.63 -> 1.64 --- Log message: add the FPUnaryOp and DFPUnaryOp classes --- Diffs of the changes: (+14 -15) ARMInstrInfo.td | 29 ++++++++++++++--------------- 1 files changed, 14 insertions(+), 15 deletions(-) Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.63 llvm/lib/Target/ARM/ARMInstrInfo.td:1.64 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.63 Tue Oct 17 15:33:13 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Tue Oct 17 15:45:22 2006 @@ -70,6 +70,16 @@ !strconcat(OpcStr, " $dst, $a, $b"), [(set DFPRegs:$dst, (OpNode DFPRegs:$a, DFPRegs:$b))]>; +class FPUnaryOp<string OpcStr, SDNode OpNode> : + InstARM<(ops FPRegs:$dst, FPRegs:$src), + !strconcat(OpcStr, " $dst, $src"), + [(set FPRegs:$dst, (OpNode FPRegs:$src))]>; + +class DFPUnaryOp<string OpcStr, SDNode OpNode> : + InstARM<(ops DFPRegs:$dst, DFPRegs:$src), + !strconcat(OpcStr, " $dst, $src"), + [(set DFPRegs:$dst, (OpNode DFPRegs:$src))]>; + class Addr1BinOp<string OpcStr, SDNode OpNode> : InstARM<(ops IntRegs:$dst, IntRegs:$a, op_addr_mode1:$b), !strconcat(OpcStr, " $dst, $a, $b"), @@ -280,21 +290,10 @@ def FSUBS : FPBinOp<"fsubs", fsub>; def FSUBD : DFPBinOp<"fsubd", fsub>; -def FNEGS : InstARM<(ops FPRegs:$dst, FPRegs:$src), - "fnegs $dst, $src", - [(set FPRegs:$dst, (fneg FPRegs:$src))]>; - -def FNEGD : InstARM<(ops DFPRegs:$dst, DFPRegs:$src), - "fnegd $dst, $src", - [(set DFPRegs:$dst, (fneg DFPRegs:$src))]>; - -def FABSS : InstARM<(ops FPRegs:$dst, FPRegs:$src), - "fabss $dst, $src", - [(set FPRegs:$dst, (fabs FPRegs:$src))]>; - -def FABSD : InstARM<(ops DFPRegs:$dst, DFPRegs:$src), - "fabsd $dst, $src", - [(set DFPRegs:$dst, (fabs DFPRegs:$src))]>; +def FNEGS : FPUnaryOp<"fnegs", fneg>; +def FNEGD : DFPUnaryOp<"fnegd", fneg>; +def FABSS : FPUnaryOp<"fabss", fabs>; +def FABSD : DFPUnaryOp<"fabsd", fabs>; def FMULS : FPBinOp<"fmuls", fmul>; def FMULD : DFPBinOp<"fmuld", fmul>; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits