aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr111048.c
blob: 475978aae2be727b263919ef42b3e339a0585a45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* { dg-do run } */
/* { dg-additional-options "-mavx2" { target avx2_runtime } } */

typedef unsigned char u8;

__attribute__((noipa))
static void check(const u8 * v) {
    if (*v != 15) __builtin_trap();
}

__attribute__((noipa))
static void bug(void) {
    u8 in_lanes[32];
    for (unsigned i = 0; i < 32; i += 2) {
      in_lanes[i + 0] = 0;
      in_lanes[i + 1] = ((u8)0xff) >> (i & 7);
    }

    check(&in_lanes[13]);
  }

int main() {
    bug();
}