1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** fminnmp z0\.h, p0/m, z0\.h, z1\.h
10 TEST_UNIFORM_Z (minnmp_f16_m_tied1
, svfloat16_t
,
11 z0
= svminnmp_f16_m (p0
, z0
, z1
),
12 z0
= svminnmp_m (p0
, z0
, z1
))
15 ** minnmp_f16_m_tied2:
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** fminnmp z0\.h, p0/m, z0\.h, \1\.h
21 TEST_UNIFORM_Z (minnmp_f16_m_tied2
, svfloat16_t
,
22 z0
= svminnmp_f16_m (p0
, z1
, z0
),
23 z0
= svminnmp_m (p0
, z1
, z0
))
26 ** minnmp_f16_m_untied:
28 ** fminnmp z0\.h, p0/m, z0\.h, z2\.h
31 TEST_UNIFORM_Z (minnmp_f16_m_untied
, svfloat16_t
,
32 z0
= svminnmp_f16_m (p0
, z1
, z2
),
33 z0
= svminnmp_m (p0
, z1
, z2
))
36 ** minnmp_f16_x_tied1:
37 ** fminnmp z0\.h, p0/m, z0\.h, z1\.h
40 TEST_UNIFORM_Z (minnmp_f16_x_tied1
, svfloat16_t
,
41 z0
= svminnmp_f16_x (p0
, z0
, z1
),
42 z0
= svminnmp_x (p0
, z0
, z1
))
45 ** minnmp_f16_x_tied2:
46 ** mov (z[0-9]+)\.d, z0\.d
48 ** fminnmp z0\.h, p0/m, z0\.h, \1\.h
51 TEST_UNIFORM_Z (minnmp_f16_x_tied2
, svfloat16_t
,
52 z0
= svminnmp_f16_x (p0
, z1
, z0
),
53 z0
= svminnmp_x (p0
, z1
, z0
))
56 ** minnmp_f16_x_untied:
58 ** fminnmp z0\.h, p0/m, z0\.h, z2\.h
61 TEST_UNIFORM_Z (minnmp_f16_x_untied
, svfloat16_t
,
62 z0
= svminnmp_f16_x (p0
, z1
, z2
),
63 z0
= svminnmp_x (p0
, z1
, z2
))
66 ** ptrue_minnmp_f16_x_tied1:
68 ** ptrue p[0-9]+\.b[^\n]*
72 TEST_UNIFORM_Z (ptrue_minnmp_f16_x_tied1
, svfloat16_t
,
73 z0
= svminnmp_f16_x (svptrue_b16 (), z0
, z1
),
74 z0
= svminnmp_x (svptrue_b16 (), z0
, z1
))
77 ** ptrue_minnmp_f16_x_tied2:
79 ** ptrue p[0-9]+\.b[^\n]*
83 TEST_UNIFORM_Z (ptrue_minnmp_f16_x_tied2
, svfloat16_t
,
84 z0
= svminnmp_f16_x (svptrue_b16 (), z1
, z0
),
85 z0
= svminnmp_x (svptrue_b16 (), z1
, z0
))
88 ** ptrue_minnmp_f16_x_untied:
90 ** ptrue p[0-9]+\.b[^\n]*
94 TEST_UNIFORM_Z (ptrue_minnmp_f16_x_untied
, svfloat16_t
,
95 z0
= svminnmp_f16_x (svptrue_b16 (), z1
, z2
),
96 z0
= svminnmp_x (svptrue_b16 (), z1
, z2
))