| /* { dg-do run { target { powerpc64le-*-* } } } */ |
| /* { dg-options "-Os -fno-forward-propagate -fschedule-insns -fno-tree-ter -Wno-psabi" } */ |
| /* { dg-require-effective-target p8vector_hw } */ |
| |
| typedef unsigned char __attribute__ ((__vector_size__ (64))) v512u8; |
| typedef unsigned short u16; |
| typedef unsigned short __attribute__ ((__vector_size__ (64))) v512u16; |
| typedef unsigned __int128 __attribute__ ((__vector_size__ (64))) v512u128; |
| |
| v512u16 d; |
| v512u128 f; |
| |
| v512u8 |
| foo (u16 e) |
| { |
| v512u128 g = f - -e; |
| d = (5 / (d + 1)) < e; |
| return (v512u8) g; |
| } |
| |
| int |
| main (void) |
| { |
| v512u8 x = foo (2); |
| for (unsigned i = 0; i < sizeof (x); i++) |
| if (x[i] != (i % 16 ? 0 : 2)) |
| __builtin_abort (); |
| } |