+2014-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/60663
+ * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in
+ PARALLEL.
+
2014-04-10 Jan Hubicka <hubicka@ucw.cz>
Jakub Jelinek <jakub@redhat.com>
&& REGNO (dest) >= FIRST_PSEUDO_REGISTER)
sets[i].src_volatile = 1;
+ /* Also do not record result of a non-volatile inline asm with
+ more than one result or with clobbers, we do not want CSE to
+ break the inline asm apart. */
+ else if (GET_CODE (src) == ASM_OPERANDS
+ && GET_CODE (x) == PARALLEL)
+ sets[i].src_volatile = 1;
+
#if 0
/* It is no longer clear why we used to do this, but it doesn't
appear to still be needed. So let's try without it since this
+2014-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/60663
+ * gcc.target/arm/pr60663.c: New test.
+
2014-04-10 Jason Merrill <jason@redhat.com>
* g++.dg/dso/dlclose1.C: Disable for 4.9.
--- /dev/null
+/* PR rtl-optimization/60663 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv7-a" } */
+
+int
+foo (void)
+{
+ unsigned i, j;
+ asm ("%0 %1" : "=r" (i), "=r" (j));
+ return i;
+}