1  /* { dg-do compile } */
       2  /* { dg-options "-mvis4b" } */
       3  
       4  typedef unsigned char vec8 __attribute__((vector_size(8)));
       5  typedef short vec16 __attribute__((vector_size(8)));
       6  typedef int vec32 __attribute__((vector_size(8)));
       7  
       8  long test_fpcmpule8shl (vec8 a, vec8 b)
       9  {
      10    return __builtin_vis_fpcmpule8shl (a, b, 2);
      11  }
      12  
      13  long test_fpcmpugt8shl (vec8 a, vec8 b)
      14  {
      15    return __builtin_vis_fpcmpugt8shl (a, b, 2);
      16  }
      17  
      18  long test_fpcmpule16shl (vec16 a, vec16 b)
      19  {
      20    return __builtin_vis_fpcmpule16shl (a, b, 2);
      21  }
      22  
      23  long test_fpcmpugt16shl (vec16 a, vec16 b)
      24  {
      25    return __builtin_vis_fpcmpugt16shl (a, b, 2);
      26  }
      27  
      28  long test_fpcmpule32shl (vec32 a, vec32 b)
      29  {
      30    return __builtin_vis_fpcmpule32shl (a, b, 2);
      31  }
      32  
      33  long test_fpcmpugt32shl (vec32 a, vec32 b)
      34  {
      35    return __builtin_vis_fpcmpugt32shl (a, b, 2);
      36  }
      37  
      38  /* { dg-final { scan-assembler "fpcmpule8shl\t%" } } */
      39  /* { dg-final { scan-assembler "fpcmpugt8shl\t%" } } */
      40  /* { dg-final { scan-assembler "fpcmpule16shl\t%" } } */
      41  /* { dg-final { scan-assembler "fpcmpugt16shl\t%" } } */
      42  /* { dg-final { scan-assembler "fpcmpule32shl\t%" } } */
      43  /* { dg-final { scan-assembler "fpcmpugt32shl\t%" } } */