1 /* PR rtl-optimization/85376 */
2 /* { dg-do run { target int128 } } */
3 /* { dg-options "-Og -fno-dce -fgcse -fno-tree-ccp -fno-tree-copy-prop -Wno-psabi" } */
5 typedef unsigned int U
__attribute__ ((vector_size (64)));
6 typedef unsigned __int128 V
__attribute__ ((vector_size (64)));
12 foo (unsigned char n
, unsigned short o
, unsigned int p
, U q
, U r
, U s
)
16 q
[7] >>= __builtin_add_overflow (0xfffffff0, __builtin_ffs (n
), &s
[5]);
17 t
= __builtin_ffs (g
[7]);
18 e
*= __builtin_sub_overflow (o
, t
, &f
);
19 return f
+ (V
) g
+ (V
) h
+ (V
) q
+ i
+ (V
) j
+ (V
) s
+ (V
) k
+ l
;
25 if (__SIZEOF_INT128__
!= 16 || __SIZEOF_INT__
!= 4 || __CHAR_BIT__
!= 8)
27 V x
= foo (0, 1, 5, (U
) { }, (U
) { }, (U
) { });
28 for (unsigned i
= 0; i
< 4; i
++)
29 if ((unsigned int) x
[i
] != 0x20)