[llvm-commits] [llvm] r115831 - in /llvm/trunk/lib/Target/ARM: ARMInstrFormats.td ARMInstrNEON.td

Jim Grosbach grosbach at apple.com
Wed Oct 6 13:36:55 PDT 2010


Author: grosbach
Date: Wed Oct  6 15:36:55 2010
New Revision: 115831

URL: http://llvm.org/viewvc/llvm-project?rev=115831&view=rev
Log:
Add a 'pattern' arg to the ARM PseudoNeonI class.

Modified:
    llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
    llvm/trunk/lib/Target/ARM/ARMInstrNEON.td

Modified: llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrFormats.td?rev=115831&r1=115830&r2=115831&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrFormats.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrFormats.td Wed Oct  6 15:36:55 2010
@@ -1550,11 +1550,13 @@
   list<Predicate> Predicates = [HasNEON];
 }
 
-class PseudoNeonI<dag oops, dag iops, InstrItinClass itin, string cstr>
+class PseudoNeonI<dag oops, dag iops, InstrItinClass itin, string cstr,
+                  list<dag> pattern>
   : InstARM<AddrModeNone, Size4Bytes, IndexModeNone, Pseudo, NeonDomain, cstr,
             itin> {
   let OutOperandList = oops;
   let InOperandList = !con(iops, (ins pred:$p));
+  let Pattern = pattern;
   list<Predicate> Predicates = [HasNEON];
 }
 

Modified: llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrNEON.td?rev=115831&r1=115830&r2=115831&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrNEON.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrNEON.td Wed Oct  6 15:36:55 2010
@@ -3816,11 +3816,11 @@
 } // hasExtraSrcRegAllocReq = 1
 
 def  VTBL2Pseudo
-  : PseudoNeonI<(outs DPR:$dst), (ins QPR:$tbl, DPR:$src), IIC_VTB2, "">;
+  : PseudoNeonI<(outs DPR:$dst), (ins QPR:$tbl, DPR:$src), IIC_VTB2, "", []>;
 def  VTBL3Pseudo
-  : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB3, "">;
+  : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB3, "", []>;
 def  VTBL4Pseudo
-  : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB4, "">;
+  : PseudoNeonI<(outs DPR:$dst), (ins QQPR:$tbl, DPR:$src), IIC_VTB4, "", []>;
 
 //   VTBX     : Vector Table Extension
 def  VTBX1
@@ -3849,13 +3849,13 @@
 
 def  VTBX2Pseudo
   : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QPR:$tbl, DPR:$src),
-                IIC_VTBX2, "$orig = $dst">;
+                IIC_VTBX2, "$orig = $dst", []>;
 def  VTBX3Pseudo
   : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QQPR:$tbl, DPR:$src),
-                IIC_VTBX3, "$orig = $dst">;
+                IIC_VTBX3, "$orig = $dst", []>;
 def  VTBX4Pseudo
   : PseudoNeonI<(outs DPR:$dst), (ins DPR:$orig, QQPR:$tbl, DPR:$src),
-                IIC_VTBX4, "$orig = $dst">;
+                IIC_VTBX4, "$orig = $dst", []>;
 
 //===----------------------------------------------------------------------===//
 // NEON instructions for single-precision FP math





More information about the llvm-commits mailing list