Use gather loads for strided accesses
[official-gcc.git] / gcc / testsuite / gcc.target / m68k / interrupt_thread-1.c
blobee7179cd4d9627e85427cdf2c86a1d8ef78d5910
1 /* { dg-do compile } */
2 /* { dg-options "-mcpu=fidoa -O2 -fomit-frame-pointer" } */
4 /* Check that interrupt_thread attribute works. */
6 #ifdef __mfido__
7 extern void foo (void) __attribute__ ((interrupt_thread));
9 int a, b, c, d;
11 void bar (void);
13 void
14 foo (void)
16 int w, x, y, z;
18 w = a;
19 x = b;
20 y = c;
21 z = d;
23 bar ();
25 a = w;
26 b = x;
27 c = y;
28 d = z;
30 #else
31 /* If the current mutilib is, say, -mcpu=5485, the compiler gets
32 -mcpu=fidoa -mcpu=5485, where -mcpu=fidoa is overridden. In that
33 case, we just print out "sleep" in the assembly file and pretend
34 that everything is all right. */
35 asm ("sleep");
36 #endif
38 /* "sleep" should be generated in place of "rts". */
39 /* { dg-final { scan-assembler-times "sleep" 1 } } */
40 /* { dg-final { scan-assembler-times "rts" 0 } } */
42 /* There should be no stack adjustment. */
43 /* { dg-final { scan-assembler-times "sp" 0 } } */