1 /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
2 /* { dg-add-options arm_v8_1m_mve_fp } */
3 /* { dg-additional-options "-O2" } */
4 
5 #include "arm_mve.h"
6 
7 float32_t
foo(float32_t a,float32x4_t b,mve_pred16_t p)8 foo (float32_t a, float32x4_t b, mve_pred16_t p)
9 {
10   return vminnmavq_p_f32 (a, b, p);
11 }
12 
13 
14 float32_t
foo1(float32_t a,float32x4_t b,mve_pred16_t p)15 foo1 (float32_t a, float32x4_t b, mve_pred16_t p)
16 {
17   return vminnmavq_p (a, b, p);
18 }
19 
20 
21 float32_t
foo2(float16_t a,float32x4_t b,mve_pred16_t p)22 foo2 (float16_t a, float32x4_t b, mve_pred16_t p)
23 {
24   return vminnmavq_p (a, b, p);
25 }
26 
27 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
28 /* { dg-final { scan-assembler-times "vminnmavt.f32" 3 } } */
29