+2012-11-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR middle-end/55030
+ * gcc.dg/guality/pr36728-1.c, gcc.dg/guality/pr36728-2.c (foo): Don't
+ use volatile asms, use plain asms. Where the output value for the
+ asm is unused, write a global variable.
+
2012-11-25 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/sw-1.c (dg-options): Add -mtune=generic.
/* PR debug/36728 */
/* { dg-do run } */
/* { dg-options "-g" } */
-
+int a;
int __attribute__((noinline))
foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7)
{
int __attribute__ ((aligned(32))) y;
y = 2;
- asm volatile ("" : "=m" (y) : "m" (y));
+ asm ("" : "=m" (y) : "m" (y));
x[0] = 25;
- asm volatile ("" : "=m" (x[0]) : "m" (x[0]));
+ asm ("" : "=m" (x[0]), "=m" (a) : "m" (x[0]));
return y;
}
main ()
{
int l = 0;
- asm volatile ("" : "=r" (l) : "0" (l));
- foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30);
+ asm ("" : "=r" (l) : "0" (l));
+ a = foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30);
return 0;
}
/* PR debug/36728 */
/* { dg-do run } */
/* { dg-options "-g" } */
-
+int a;
int __attribute__((noinline))
foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7)
{
int __attribute__ ((aligned(32))) y;
y = 2;
- asm volatile ("" : "=m" (y) : "m" (y));
+ asm ("" : "=m" (y) : "m" (y));
x[0] = 25;
- asm volatile ("" : "=m" (x[0]) : "m" (x[0]));
+ asm ("" : "=m" (x[0]), "=m" (a) : "m" (x[0]));
return y;
}
main ()
{
int l = 0;
- asm volatile ("" : "=r" (l) : "0" (l));
- foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30);
+ asm ("" : "=r" (l) : "0" (l));
+ a = foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30);
return 0;
}