| /* PR target/103900 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O -fno-tree-dce -fno-tree-dse" } */ |
| |
| typedef unsigned char __attribute__((__vector_size__(2))) T; |
| typedef unsigned char __attribute__((__vector_size__(32))) U; |
| typedef int __attribute__((__vector_size__(64))) V; |
| typedef int __attribute__((__vector_size__(32))) W; |
| T foo0_v128u8_0; |
| U foo0_v256u8_0; |
| T foo0_v16u16_0; |
| int foo0_v128u64_0, foo0_v512u64_0; |
| |
| void |
| foo0() { |
| V v512u128_0; |
| T v16u8_0; |
| foo0_v128u64_0 += (short)v16u8_0; |
| T v16u8_1 = ~__builtin_shufflevector(foo0_v128u8_0, foo0_v256u8_0, 0, 5); |
| W v256u128_1; |
| V v512u8_r = |
| foo0_v512u64_0 + v512u128_0; |
| (union {U b;}){}.b + (U)v256u128_1; |
| T v16u8_r = v16u8_0 + v16u8_1 + foo0_v16u16_0; |
| } |