/* { dg-do run } */ /* { dg-require-effective-target stdint_types } */ /* { dg-options "-O2 -Wno-psabi -w" } */ /* { dg-additional-options "-mno-sse2" { target x86_64-*-* i?86-*-* } } */ #include typedef uint8_t u8; typedef uint16_t u16; typedef uint32_t u32; typedef uint64_t u64; typedef u64 __attribute__((__vector_size__ (16))) v128u64; u16 foo0_u16_0; v128u64 foo0_v64u32_0; u64 foo0_u64_0; v128u64 foo0_v128u64_2; v128u64 foo0 (u8 u8_0, v128u64 v128u64_0) { u32 u32_1 = u8_0 || (0, 0); foo0_v128u64_2 - u8_0; foo0_u16_0 |= foo0_u64_0 && u8_0 > foo0_u64_0 <= u32_1; v128u64 v128u64_4 = v128u64_0 >= u8_0; return v128u64_4 + foo0_v64u32_0; } int main () { v128u64 x = foo0 (3, (v128u64) { 0, 12 }); if (x[0] != 0) __builtin_abort(); if (x[1] != 0xffffffffffffffff) __builtin_abort(); return 0; }