(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
sparc/
vis4misc.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mvis4" } */
       3  typedef int __v2si __attribute__((vector_size(8)));
       4  typedef short __v4hi __attribute__((vector_size(8)));
       5  typedef unsigned char __v8qi __attribute__((vector_size(8)));
       6  
       7  __v8qi test_fpadd8 (__v8qi x, __v8qi y)
       8  {
       9    return __builtin_vis_fpadd8 (x, y);
      10  }
      11  
      12  __v8qi test_fpadds8 (__v8qi x, __v8qi y)
      13  {
      14    return __builtin_vis_fpadds8 (x, y);
      15  }
      16  
      17  __v8qi test_fpaddus8 (__v8qi x, __v8qi y)
      18  {
      19    return __builtin_vis_fpaddus8 (x, y);
      20  }
      21  
      22  __v4hi test_fpaddus16 (__v4hi x, __v4hi y)
      23  {
      24    return __builtin_vis_fpaddus16 (x, y);
      25  }
      26  
      27  __v8qi test_fpsub8 (__v8qi x, __v8qi y)
      28  {
      29    return __builtin_vis_fpsub8 (x, y);
      30  }
      31  
      32  __v8qi test_fpsubs8 (__v8qi x, __v8qi y)
      33  {
      34    return __builtin_vis_fpsubs8 (x, y);
      35  }
      36  
      37  __v8qi test_fpsubus8 (__v8qi x, __v8qi y)
      38  {
      39    return __builtin_vis_fpsubus8 (x, y);
      40  }
      41  
      42  __v4hi test_fpsubus16 (__v4hi x, __v4hi y)
      43  {
      44    return __builtin_vis_fpsubus16 (x, y);
      45  }
      46  
      47  __v8qi test_fpmax8 (__v8qi x, __v8qi y)
      48  {
      49    return __builtin_vis_fpmax8 (x, y);
      50  }
      51  
      52  __v4hi test_fpmax16 (__v4hi x, __v4hi y)
      53  {
      54    return __builtin_vis_fpmax16 (x, y);
      55  }
      56  
      57  __v2si test_fpmax32 (__v2si x, __v2si y)
      58  {
      59    return __builtin_vis_fpmax32 (x, y);
      60  }
      61  
      62  __v8qi test_fpmaxu8 (__v8qi x, __v8qi y)
      63  {
      64    return __builtin_vis_fpmaxu8 (x, y);
      65  }
      66  
      67  __v4hi test_fpmaxu16 (__v4hi x, __v4hi y)
      68  {
      69    return __builtin_vis_fpmaxu16 (x, y);
      70  }
      71  
      72  __v2si test_fpmaxu32 (__v2si x, __v2si y)
      73  {
      74    return __builtin_vis_fpmaxu32 (x, y);
      75  }
      76  
      77  __v8qi test_fpmin8 (__v8qi x, __v8qi y)
      78  {
      79    return __builtin_vis_fpmin8 (x, y);
      80  }
      81  
      82  __v4hi test_fpmin16 (__v4hi x, __v4hi y)
      83  {
      84    return __builtin_vis_fpmin16 (x, y);
      85  }
      86  
      87  __v2si test_fpmin32 (__v2si x, __v2si y)
      88  {
      89    return __builtin_vis_fpmin32 (x, y);
      90  }
      91  
      92  __v8qi test_fpminu8 (__v8qi x, __v8qi y)
      93  {
      94    return __builtin_vis_fpminu8 (x, y);
      95  }
      96  
      97  __v4hi test_fpminu16 (__v4hi x, __v4hi y)
      98  {
      99    return __builtin_vis_fpminu16 (x, y);
     100  }
     101  
     102  __v2si test_fpminu32 (__v2si x, __v2si y)
     103  {
     104    return __builtin_vis_fpminu32 (x, y);
     105  }
     106  
     107  /* { dg-final { scan-assembler "fpadd8\t%" } } */
     108  /* { dg-final { scan-assembler "fpadds8\t%" } } */
     109  /* { dg-final { scan-assembler "fpaddus8\t%" } } */
     110  /* { dg-final { scan-assembler "fpaddus16\t%" } } */
     111  /* { dg-final { scan-assembler "fpsub8\t%" } } */
     112  /* { dg-final { scan-assembler "fpsubs8\t%" } } */
     113  /* { dg-final { scan-assembler "fpsubus8\t%" } } */
     114  /* { dg-final { scan-assembler "fpsubus16\t%" } } */
     115  /* { dg-final { scan-assembler "fpmax8\t%" } } */
     116  /* { dg-final { scan-assembler "fpmax16\t%" } } */
     117  /* { dg-final { scan-assembler "fpmax32\t%" } } */
     118  /* { dg-final { scan-assembler "fpmaxu8\t%" } } */
     119  /* { dg-final { scan-assembler "fpmaxu16\t%" } } */
     120  /* { dg-final { scan-assembler "fpmaxu32\t%" } } */
     121  /* { dg-final { scan-assembler "fpmin8\t%" } } */
     122  /* { dg-final { scan-assembler "fpmin16\t%" } } */
     123  /* { dg-final { scan-assembler "fpmin32\t%" } } */
     124  /* { dg-final { scan-assembler "fpminu8\t%" } } */
     125  /* { dg-final { scan-assembler "fpminu16\t%" } } */
     126  /* { dg-final { scan-assembler "fpminu32\t%" } } */