[llvm-commits] [llvm] r78263 - in /llvm/trunk/lib/Target/ARM: ARMISelDAGToDAG.cpp ARMInstrNEON.td NEONPreAllocPass.cpp

Bob Wilson bob.wilson at apple.com
Wed Aug 5 17:24:51 PDT 2009


Author: bwilson
Date: Wed Aug  5 19:24:27 2009
New Revision: 78263

URL: http://llvm.org/viewvc/llvm-project?rev=78263&view=rev
Log:
Neon does not actually have VLD{234}.64 instructions.
These operations will have to be synthesized from other instructions.

Modified:
    llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp
    llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
    llvm/trunk/lib/Target/ARM/NEONPreAllocPass.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp?rev=78263&r1=78262&r2=78263&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp Wed Aug  5 19:24:27 2009
@@ -1317,7 +1317,6 @@
     case MVT::v4i16: Opc = ARM::VLD2d16; break;
     case MVT::v2f32:
     case MVT::v2i32: Opc = ARM::VLD2d32; break;
-    case MVT::v1i64: Opc = ARM::VLD2d64; break;
     }
     const SDValue Ops[] = { MemAddr, MemUpdate, MemOpc };
     return CurDAG->getTargetNode(Opc, dl, VT, VT, MVT::Other, Ops, 3);
@@ -1335,7 +1334,6 @@
     case MVT::v4i16: Opc = ARM::VLD3d16; break;
     case MVT::v2f32:
     case MVT::v2i32: Opc = ARM::VLD3d32; break;
-    case MVT::v1i64: Opc = ARM::VLD3d64; break;
     }
     const SDValue Ops[] = { MemAddr, MemUpdate, MemOpc };
     return CurDAG->getTargetNode(Opc, dl, VT, VT, VT, MVT::Other, Ops, 3);
@@ -1353,7 +1351,6 @@
     case MVT::v4i16: Opc = ARM::VLD4d16; break;
     case MVT::v2f32:
     case MVT::v2i32: Opc = ARM::VLD4d32; break;
-    case MVT::v1i64: Opc = ARM::VLD4d64; break;
     }
     const SDValue Ops[] = { MemAddr, MemUpdate, MemOpc };
     std::vector<MVT> ResTys(4, VT);

Modified: llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrNEON.td?rev=78263&r1=78262&r2=78263&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrNEON.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrNEON.td Wed Aug  5 19:24:27 2009
@@ -196,7 +196,6 @@
 def  VLD2d8   : VLD2D<"vld2.8">;
 def  VLD2d16  : VLD2D<"vld2.16">;
 def  VLD2d32  : VLD2D<"vld2.32">;
-def  VLD2d64  : VLD2D<"vld2.64">;
 
 //   VLD3     : Vector Load (multiple 3-element structures)
 class VLD3D<string OpcodeStr>
@@ -206,7 +205,6 @@
 def  VLD3d8   : VLD3D<"vld3.8">;
 def  VLD3d16  : VLD3D<"vld3.16">;
 def  VLD3d32  : VLD3D<"vld3.32">;
-def  VLD3d64  : VLD3D<"vld3.64">;
 
 //   VLD4     : Vector Load (multiple 4-element structures)
 class VLD4D<string OpcodeStr>
@@ -217,7 +215,6 @@
 def  VLD4d8   : VLD4D<"vld4.8">;
 def  VLD4d16  : VLD4D<"vld4.16">;
 def  VLD4d32  : VLD4D<"vld4.32">;
-def  VLD4d64  : VLD4D<"vld4.64">;
 
 
 //===----------------------------------------------------------------------===//

Modified: llvm/trunk/lib/Target/ARM/NEONPreAllocPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/NEONPreAllocPass.cpp?rev=78263&r1=78262&r2=78263&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/NEONPreAllocPass.cpp (original)
+++ llvm/trunk/lib/Target/ARM/NEONPreAllocPass.cpp Wed Aug  5 19:24:27 2009
@@ -45,7 +45,6 @@
   case ARM::VLD2d8:
   case ARM::VLD2d16:
   case ARM::VLD2d32:
-  case ARM::VLD2d64:
     FirstOpnd = 0;
     NumRegs = 2;
     return true;
@@ -53,7 +52,6 @@
   case ARM::VLD3d8:
   case ARM::VLD3d16:
   case ARM::VLD3d32:
-  case ARM::VLD3d64:
     FirstOpnd = 0;
     NumRegs = 3;
     return true;
@@ -61,7 +59,6 @@
   case ARM::VLD4d8:
   case ARM::VLD4d16:
   case ARM::VLD4d32:
-  case ARM::VLD4d64:
     FirstOpnd = 0;
     NumRegs = 4;
     return true;





More information about the llvm-commits mailing list