[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td
Rafael Espindola
rafael.espindola at gmail.com
Tue Oct 17 13:45:37 PDT 2006
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>;
More information about the llvm-commits
mailing list