+2014-12-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (try_combine): Do not allow combining a PARALLEL I2
+ with a register move I3 if that I2 is an asm.
+
2014-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm_neon.h (vrndqn_f32): Rename to...
SET_DEST (XVECEXP (p2, 0, i))))
break;
+ /* Make sure this PARALLEL is not an asm. We do not allow combining
+ that usually (see can_combine_p), so do not here either. */
+ for (i = 0; i < XVECLEN (p2, 0); i++)
+ if (GET_CODE (XVECEXP (p2, 0, i)) == SET
+ && GET_CODE (SET_SRC (XVECEXP (p2, 0, i))) == ASM_OPERANDS)
+ break;
+
if (i == XVECLEN (p2, 0))
for (i = 0; i < XVECLEN (p2, 0); i++)
if (GET_CODE (XVECEXP (p2, 0, i)) == SET