[AArch64] Fix SVE testsuite failures for ILP32 (PR 83846)
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / sisd-shft-neg_1.c
blobc091657cb5751af2d87ae22e67f80fa3f6a1b049
1 /* { dg-do run } */
2 /* { dg-options "-O2 -fno-inline" } */
4 extern void abort (void);
6 #define force_simd_si(v) asm volatile ("mov %s0, %1.s[0]" :"=w" (v) :"w" (v) :)
8 unsigned int
9 shft_add (unsigned int a, unsigned int b)
11 unsigned int c;
13 force_simd_si (a);
14 force_simd_si (b);
15 c = a >> b;
16 force_simd_si (c);
18 return c + b;
21 int
22 main (void)
24 unsigned int i = 0;
25 unsigned int a = 0xdeadbeef;
27 for (i = 0; i < 32; i++)
29 unsigned int exp = (a / (1 << i) + i);
30 unsigned int got = shft_add (a, i);
32 if (exp != got)
33 abort ();
36 return 0;