(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
simd/
vqdmlsls_laneq_s32_1.c
       1  /* Test the vqdmlsls_laneq_s32 AArch64 SIMD intrinsic.  */
       2  
       3  /* { dg-do run } */
       4  /* { dg-options "-save-temps -O3" } */
       5  
       6  #include "arm_neon.h"
       7  
       8  extern void abort (void);
       9  
      10  int64_t __attribute__((noipa))
      11  test_vqdmlsls (int64_t arg1, int32_t arg2, int32x4_t arg3)
      12  {
      13    return vqdmlsls_laneq_s32 (arg1, arg2, arg3, 3);
      14  }
      15  
      16  int
      17  main (void)
      18  {
      19    int64_t actual;
      20    int64_t expected;
      21  
      22    actual = test_vqdmlsls (140733193453567LL, 25544,
      23  			  vcombine_s32 (vcreate_s32 (0x417b8000ffff8397LL),
      24  					vcreate_s32 (0x7fffffff58488000LL)));
      25    expected = 31022548895631LL;
      26  
      27    if (expected != actual)
      28      abort ();
      29  
      30    return 0;
      31  }
      32  
      33  /* { dg-final { scan-assembler-times "sqdmlsl\[ \t\]+\[dD\]\[0-9\]+, ?\[sS\]\[0-9\]+, ?\[vV\]\[0-9\]+\.\[sS\]\\\[3\\\]\n" 1 } } */