(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
vmull_high.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-O3" } */
       3  
       4  #include <arm_neon.h>
       5  
       6  int64x2_t
       7  doit (int8x16_t a)
       8  {
       9    int16x8_t b = vmull_high_s8 (a, a);
      10    int32x4_t c = vmull_high_s16 (b, b);
      11    return vmull_high_s32 (c, c);
      12  }
      13  
      14  uint64x2_t
      15  douit (uint8x16_t a)
      16  {
      17    uint16x8_t b = vmull_high_u8 (a, a);
      18    uint32x4_t c = vmull_high_u16 (b, b);
      19    return vmull_high_u32 (c, c);
      20  }
      21  
      22  /* { dg-final { scan-assembler-times "smull2\[ |\t\]*v" 3} }  */
      23  /* { dg-final { scan-assembler-times "umull2\[ |\t\]*v" 3} }  */