aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-12-15 22:56:53 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-12-15 22:56:53 +0000
commit2f21e8c5ba62ec98e7dec9c65e35a3b4e7fdaf4d (patch)
treecebcc6ca35b43ecedb253b95dc4c0ce7668cca77 /lib
parenta738da7bd30819f1bc710d313c9ecb06c56f1a4f (diff)
downloadexternal_llvm-2f21e8c5ba62ec98e7dec9c65e35a3b4e7fdaf4d.zip
external_llvm-2f21e8c5ba62ec98e7dec9c65e35a3b4e7fdaf4d.tar.gz
external_llvm-2f21e8c5ba62ec98e7dec9c65e35a3b4e7fdaf4d.tar.bz2
Make check a bit more strict so we don't call ARM_AM::getFP32Imm with a value that isn't a 32-bit value. (This is just to be safe; I don't think this actually causes any issues in practice.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146700 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index 857eb7a..c6c1f5b 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -4009,7 +4009,7 @@ SDValue ARMTargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG,
}
// Use vmov.f32 to materialize other v2f32 and v4f32 splats.
- if (VT == MVT::v2f32 || VT == MVT::v4f32) {
+ if ((VT == MVT::v2f32 || VT == MVT::v4f32) && SplatBitSize == 32) {
int ImmVal = ARM_AM::getFP32Imm(SplatBits);
if (ImmVal != -1) {
SDValue Val = DAG.getTargetConstant(ImmVal, MVT::i32);