1  /* { dg-do assemble { target { arm*-*-* } } } */
       2  /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
       3  /* { dg-add-options arm_v8_2a_i8mm }  */
       4  /* { dg-additional-options "--save-temps" } */
       5  
       6  #include <arm_neon.h>
       7  
       8  /* Signed-Unsigned Dot Product instructions.  */
       9  
      10  int32x2_t sfoo_lane (int32x2_t r, int8x8_t x, uint8x8_t y)
      11  {
      12    /* { dg-error "lane -1 out of range 0 - 1" "" { target *-*-* } 0 } */
      13    return vsudot_lane_s32 (r, x, y, -1);
      14  }
      15  
      16  int32x4_t sfooq_lane (int32x4_t r, int8x16_t x, uint8x8_t y)
      17  {
      18    /* { dg-error "lane 2 out of range 0 - 1" "" { target *-*-* } 0 } */
      19    return vsudotq_lane_s32 (r, x, y, 2);
      20  }