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