* expmed.c (flip_storage_order): Deal with complex modes specially.
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20021024-1.c
blob93504f2254a9b1e6627f0216a95f6bd7e34c4b8b
1 /* Origin: PR target/6981 from Mattias Engdegaard <mattias@virtutech.se>. */
2 /* { dg-require-effective-target int32plus } */
4 void exit (int);
5 void abort (void);
7 unsigned long long *cp, m;
9 void foo (void)
13 void bar (unsigned rop, unsigned long long *r)
15 unsigned rs1, rs2, rd;
17 top:
18 rs2 = (rop >> 23) & 0x1ff;
19 rs1 = (rop >> 9) & 0x1ff;
20 rd = rop & 0x1ff;
22 *cp = 1;
23 m = r[rs1] + r[rs2];
24 *cp = 2;
25 foo();
26 if (!rd)
27 goto top;
28 r[rd] = 1;
31 int main(void)
33 static unsigned long long r[64];
34 unsigned long long cr;
35 cp = &cr;
37 r[4] = 47;
38 r[8] = 11;
39 bar((8 << 23) | (4 << 9) | 15, r);
41 if (m != 47 + 11)
42 abort ();
43 exit (0);