summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr77452.c
blob: 89c5329ff891d00a5ca44b7ceb93de96d49544cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
/* { dg-do compile { target int128 } } */
/* { dg-options "-O -mavx512f -fno-split-wide-types --param max-combine-insns=2" } */

typedef unsigned      int U __attribute__((vector_size(64)));
typedef unsigned __int128 V __attribute__((vector_size(64)));

V
foo(V v)
{
  v[0] = 1u << ((  ((V)(U){1, 1, v[0]})[0]) & 0xf)
            >> ((-~((V)(U){1, 1, v[0]})[0]) & 0xf);
  return v;
}