1  /* { dg-require-effective-target arm_hard_ok } */
       2  /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
       3  /* { dg-add-options arm_v8_1m_mve_fp } */
       4  /* { dg-additional-options "-mfloat-abi=hard" } */
       5  /* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } {""} } */
       6  
       7  #include "arm_mve.h"
       8  
       9  float32x4_t
      10  foo32 ()
      11  {
      12    float32x4_t b = {10.0, 12.0, 14.0, 16.0};
      13    return b;
      14  }
      15  
      16  float16x8_t
      17  foo16 ()
      18  {
      19    float16x8_t b = {32.01};
      20    return b;
      21  }
      22  
      23  /* { dg-final { scan-assembler-times "vmov\\tq\[0-7\], q\[0-7\]" 2 } } */
      24  /* { dg-final { scan-assembler-times "vstrw.32*" 1 } } */
      25  /* { dg-final { scan-assembler-times "vstrh.16*" 1 } } */
      26  /* { dg-final { scan-assembler-times "vldrw.32*" 1 } } */
      27  /* { dg-final { scan-assembler-times "vldrh.16*" 1 } } */
      28  /* { dg-final { scan-assembler-not "__ARM_undef" } } */