/* PR rtl-optimization/114211 */ | |
/* { dg-do run { target int128 } } */ | |
/* { dg-options "-O -fno-tree-coalesce-vars -Wno-psabi" } */ | |
typedef unsigned __int128 V __attribute__((__vector_size__ (16))); | |
unsigned int u; | |
V v; | |
V | |
foo (unsigned __int128 h) | |
{ | |
h = h << 64 | h >> 64; | |
h *= ~u; | |
return h + v; | |
} | |
int | |
main () | |
{ | |
V x = foo (1); | |
if (x[0] != (unsigned __int128) 0xffffffff << 64) | |
__builtin_abort (); | |
} |