(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
pr103302.c
       1  /* { dg-do run { target int128 } } */
       2  /* { dg-options "-fharden-compares -fno-tree-dce -fno-tree-fre" } */
       3  /* { dg-skip-if "" { *-*-* } { "-O0" } } */
       4  
       5  typedef unsigned char u8;
       6  typedef unsigned char __attribute__((__vector_size__ (32))) v256u8;
       7  typedef unsigned short __attribute__((__vector_size__ (32))) v256u16;
       8  typedef unsigned short __attribute__((__vector_size__ (64))) v512u16;
       9  typedef unsigned int u32;
      10  typedef unsigned int __attribute__((__vector_size__ (4))) v512u32;
      11  typedef unsigned long long __attribute__((__vector_size__ (32))) v256u64;
      12  typedef unsigned long long __attribute__((__vector_size__ (64))) v512u64;
      13  typedef unsigned __int128 __attribute__((__vector_size__ (32))) v256u128;
      14  typedef unsigned __int128 __attribute__((__vector_size__ (64))) v512u128;
      15  
      16  v512u16 g;
      17  
      18  void
      19  foo0 (u8 u8_0, v256u16 v256u16_0, v512u16 v512u16_0, u32 u32_0, v512u32,
      20        v256u64 v256u64_0, v512u64 v512u64_0, v256u128 v256u128_0,
      21        v512u128 v512u128_0)
      22  {
      23    u32_0 <= (v512u128) (v512u128_0 != u8_0);
      24    v512u64 v512u64_1 =
      25      __builtin_shufflevector (v256u64_0, v512u64_0, 7, 8, 0, 9, 5, 0, 3, 1);
      26    g = v512u16_0;
      27    (v256u8) v256u16_0 + (v256u8) v256u128_0;
      28  }
      29  
      30  int
      31  main (void)
      32  {
      33    foo0 (40, (v256u16)
      34  	{
      35  	}, (v512u16)
      36  	{
      37  	}, 0, (v512u32)
      38  	{
      39  	}, (v256u64)
      40  	{
      41  	}, (v512u64)
      42  	{
      43  	}, (v256u128)
      44  	{
      45  	}, (v512u128)
      46  	{
      47  	});
      48  }