1 /* { dg-do compile } */
2 /* { dg-additional-options "-Og -fcse-follow-jumps -fno-dce -fno-early-inlining -fgcse -fharden-conditional-branches -frerun-cse-after-loop -fno-tree-ccp -mavx5124fmaps -std=c99 -w" } */
3
4 typedef unsigned __attribute__((__vector_size__ (4))) U;
5 typedef unsigned __attribute__((__vector_size__ (16))) V;
6 typedef unsigned __attribute__((__vector_size__ (64))) W;
7
8 int x, y;
9
10 V v;
11 W w;
12
13 inline
14 int bar (U a)
15 {
16 a |= x;
17 W k =
18 __builtin_shufflevector (v, 5 / a,
19 2, 4, 0, 2, 4, 1, 0, 1,
20 1, 2, 1, 3, 0, 4, 4, 0);
21 w = k;
22 y = 0;
23 }
24
25 int
26 foo ()
27 {
28 bar ((U){0xffffffff});
29 for (unsigned i; i < sizeof (foo);)
30 ;
31 }
32