blob: a859978933101d7bd9bdc93d25574cfe7c89e1b5 [file] [log] [blame]
/* PR middle-end/114209 */
/* { dg-do compile { target bitint } } */
/* { dg-options "-Og -std=c23 -fno-strict-aliasing" } */
/* { dg-add-options float128 } */
/* { dg-require-effective-target float128 } */
typedef signed char V __attribute__((__vector_size__(16)));
typedef _Float128 W __attribute__((__vector_size__(16)));
_Float128
foo (void *p)
{
signed char c = *(_BitInt(128) *) p;
_Float128 f = *(_Float128 *) p;
W w = *(W *) p;
signed char r = ((union { W a; signed char b[16]; }) w).b[1];
return r + f;
}