diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-06-11 22:45:25 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-06-11 22:45:25 +0000 |
commit | a394cd6dac8c0187bb25028649fabc77fe781aa1 (patch) | |
tree | 0e27e4bf22dc19239d1143165d152f1e690e6e32 /lib | |
parent | 7a1a29139170b93b5dc7ee89d59c44d2a92bb7fd (diff) | |
download | external_llvm-a394cd6dac8c0187bb25028649fabc77fe781aa1.zip external_llvm-a394cd6dac8c0187bb25028649fabc77fe781aa1.tar.gz external_llvm-a394cd6dac8c0187bb25028649fabc77fe781aa1.tar.bz2 |
Add a missing bitcast. This code used to only handle conversions between
i64 and f64 types, but now it also handle Neon vector types, so the f64 result
of VMOVDRR may need to be converted to a Neon type. Radar 8084742.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105845 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMISelLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index f9a34e0..00da962 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -2447,7 +2447,8 @@ static SDValue ExpandBIT_CONVERT(SDNode *N, SelectionDAG &DAG) { DAG.getConstant(0, MVT::i32)); SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32, Op, DAG.getConstant(1, MVT::i32)); - return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi); + return DAG.getNode(ISD::BIT_CONVERT, dl, DstVT, + DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi)); } // Turn f64->i64 into VMOVRRD. |