diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-08-21 00:01:42 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-08-21 00:01:42 +0000 |
commit | 51c7aa04ec50376774eb43bd3d84330c73ec6038 (patch) | |
tree | ddfae2d80a3fec9c8c7b97a216e932baef911e56 /llvm/lib | |
parent | baa922cf16efae0a27806e7468ee9a5b240dbf24 (diff) | |
download | bcm5719-llvm-51c7aa04ec50376774eb43bd3d84330c73ec6038.tar.gz bcm5719-llvm-51c7aa04ec50376774eb43bd3d84330c73ec6038.zip |
Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these as
vector shuffles. Temporarily remove the tests for these operations until the
new implementation is working.
llvm-svn: 79579
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp index 5bf1781ff64..3ef15a119af 100644 --- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -1415,63 +1415,6 @@ SDNode *ARMDAGToDAGISel::Select(SDValue Op) { N->getOperand(4), N->getOperand(5), Chain }; return CurDAG->getTargetNode(Opc, dl, MVT::Other, Ops, 8); } - - case ISD::INTRINSIC_WO_CHAIN: { - unsigned IntNo = cast<ConstantSDNode>(N->getOperand(0))->getZExtValue(); - EVT VT = N->getValueType(0); - unsigned Opc = 0; - - // Match intrinsics that return multiple values. - switch (IntNo) { - default: break; - - case Intrinsic::arm_neon_vtrn: - switch (VT.getSimpleVT().SimpleTy) { - default: return NULL; - case MVT::v8i8: Opc = ARM::VTRNd8; break; - case MVT::v4i16: Opc = ARM::VTRNd16; break; - case MVT::v2f32: - case MVT::v2i32: Opc = ARM::VTRNd32; break; - case MVT::v16i8: Opc = ARM::VTRNq8; break; - case MVT::v8i16: Opc = ARM::VTRNq16; break; - case MVT::v4f32: - case MVT::v4i32: Opc = ARM::VTRNq32; break; - } - return CurDAG->getTargetNode(Opc, dl, VT, VT, N->getOperand(1), - N->getOperand(2)); - - case Intrinsic::arm_neon_vuzp: - switch (VT.getSimpleVT().SimpleTy) { - default: return NULL; - case MVT::v8i8: Opc = ARM::VUZPd8; break; - case MVT::v4i16: Opc = ARM::VUZPd16; break; - case MVT::v2f32: - case MVT::v2i32: Opc = ARM::VUZPd32; break; - case MVT::v16i8: Opc = ARM::VUZPq8; break; - case MVT::v8i16: Opc = ARM::VUZPq16; break; - case MVT::v4f32: - case MVT::v4i32: Opc = ARM::VUZPq32; break; - } - return CurDAG->getTargetNode(Opc, dl, VT, VT, N->getOperand(1), - N->getOperand(2)); - - case Intrinsic::arm_neon_vzip: - switch (VT.getSimpleVT().SimpleTy) { - default: return NULL; - case MVT::v8i8: Opc = ARM::VZIPd8; break; - case MVT::v4i16: Opc = ARM::VZIPd16; break; - case MVT::v2f32: - case MVT::v2i32: Opc = ARM::VZIPd32; break; - case MVT::v16i8: Opc = ARM::VZIPq8; break; - case MVT::v8i16: Opc = ARM::VZIPq16; break; - case MVT::v4f32: - case MVT::v4i32: Opc = ARM::VZIPq32; break; - } - return CurDAG->getTargetNode(Opc, dl, VT, VT, N->getOperand(1), - N->getOperand(2)); - } - break; - } } return SelectCode(Op); |