I will revert this when 4.7.3 is ready.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232561
91177308-0d34-0410-b5e6-
96231b3b80d8
(N00VT == MVT::v2i64 || N00VT == MVT::v4i32) &&
N00VT.getScalarSizeInBits() == 4 * VT.getScalarSizeInBits()) {
MVT MidVT = (N00VT == MVT::v2i64 ? MVT::v2i32 : MVT::v4i16);
+#if defined(__GNUC__)
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 7 && __GNUC_PATCHLEVEL__ == 2
+ // FIXME: g++-4.7.2 might miscompile PerformDAGCombine().
+ asm volatile("":::"memory");
+#endif
+#endif
MVT ConcatMidVT = MVT::getVectorVT(MidVT.getVectorElementType(),
MidVT.getVectorNumElements() * 2);
return DAG.getNode(