summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0a63b6a)
raw | patch | inline | side by side (parent: 0a63b6a)
author | Eli Friedman <eli.friedman@gmail.com> | |
Sat, 17 Nov 2012 01:52:46 +0000 (01:52 +0000) | ||
committer | Eli Friedman <eli.friedman@gmail.com> | |
Sat, 17 Nov 2012 01:52:46 +0000 (01:52 +0000) |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168240 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | patch | blob | history | |
lib/Target/ARM/ARMISelLowering.cpp | patch | blob | history | |
test/CodeGen/ARM/neon_fpconv.ll | patch | blob | history |
diff --git a/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp b/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
index 3250133a6732e16c8aa264d427704b46b472c1eb..d63862d63872451c48982605c28836227beb48ae 100644 (file)
case ISD::FNEARBYINT:
case ISD::FFLOOR:
case ISD::FP_ROUND:
+ case ISD::FP_EXTEND:
case ISD::FMA:
case ISD::SIGN_EXTEND_INREG:
QueryType = Node->getValueType(0);
index e123f1563eff18a2a4c8cc2e396a807323c2aafd..bd470eb4bb72cb54380921d3ce434697fe26829a 100644 (file)
setOperationAction(ISD::FP_TO_SINT, MVT::v4i16, Custom);
setOperationAction(ISD::FP_ROUND, MVT::v2f32, Expand);
+ setOperationAction(ISD::FP_EXTEND, MVT::v2f64, Expand);
setTargetDAGCombine(ISD::INTRINSIC_VOID);
setTargetDAGCombine(ISD::INTRINSIC_W_CHAIN);
index f80ea3e349532369608c2b80e719e1bac6c39ffb..1948ad847111d5681092e930baf0b4e3b5af2599 100644 (file)
%vt = fptrunc <2 x double> %a to <2 x float>
ret <2 x float> %vt
}
+
+define <2 x double> @vextend(<2 x float> %a) {
+; CHECK: vcvt.f64.f32 [[D0:d[0-9]+]], [[S0:s[0-9]+]]
+; CHECK: vcvt.f64.f32 [[D1:d[0-9]+]], [[S1:s[0-9]+]]
+ %ve = fpext <2 x float> %a to <2 x double>
+ ret <2 x double> %ve
+}
+