1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** fmaxnmp z0\.d, p0/m, z0\.d, z1\.d
10 TEST_UNIFORM_Z (maxnmp_f64_m_tied1
, svfloat64_t
,
11 z0
= svmaxnmp_f64_m (p0
, z0
, z1
),
12 z0
= svmaxnmp_m (p0
, z0
, z1
))
15 ** maxnmp_f64_m_tied2:
16 ** mov (z[0-9]+\.d), z0\.d
18 ** fmaxnmp z0\.d, p0/m, z0\.d, \1
21 TEST_UNIFORM_Z (maxnmp_f64_m_tied2
, svfloat64_t
,
22 z0
= svmaxnmp_f64_m (p0
, z1
, z0
),
23 z0
= svmaxnmp_m (p0
, z1
, z0
))
26 ** maxnmp_f64_m_untied:
28 ** fmaxnmp z0\.d, p0/m, z0\.d, z2\.d
31 TEST_UNIFORM_Z (maxnmp_f64_m_untied
, svfloat64_t
,
32 z0
= svmaxnmp_f64_m (p0
, z1
, z2
),
33 z0
= svmaxnmp_m (p0
, z1
, z2
))
36 ** maxnmp_f64_x_tied1:
37 ** fmaxnmp z0\.d, p0/m, z0\.d, z1\.d
40 TEST_UNIFORM_Z (maxnmp_f64_x_tied1
, svfloat64_t
,
41 z0
= svmaxnmp_f64_x (p0
, z0
, z1
),
42 z0
= svmaxnmp_x (p0
, z0
, z1
))
45 ** maxnmp_f64_x_tied2:
46 ** mov (z[0-9]+\.d), z0\.d
48 ** fmaxnmp z0\.d, p0/m, z0\.d, \1
51 TEST_UNIFORM_Z (maxnmp_f64_x_tied2
, svfloat64_t
,
52 z0
= svmaxnmp_f64_x (p0
, z1
, z0
),
53 z0
= svmaxnmp_x (p0
, z1
, z0
))
56 ** maxnmp_f64_x_untied:
58 ** fmaxnmp z0\.d, p0/m, z0\.d, z2\.d
61 TEST_UNIFORM_Z (maxnmp_f64_x_untied
, svfloat64_t
,
62 z0
= svmaxnmp_f64_x (p0
, z1
, z2
),
63 z0
= svmaxnmp_x (p0
, z1
, z2
))
66 ** ptrue_maxnmp_f64_x_tied1:
68 ** ptrue p[0-9]+\.b[^\n]*
72 TEST_UNIFORM_Z (ptrue_maxnmp_f64_x_tied1
, svfloat64_t
,
73 z0
= svmaxnmp_f64_x (svptrue_b64 (), z0
, z1
),
74 z0
= svmaxnmp_x (svptrue_b64 (), z0
, z1
))
77 ** ptrue_maxnmp_f64_x_tied2:
79 ** ptrue p[0-9]+\.b[^\n]*
83 TEST_UNIFORM_Z (ptrue_maxnmp_f64_x_tied2
, svfloat64_t
,
84 z0
= svmaxnmp_f64_x (svptrue_b64 (), z1
, z0
),
85 z0
= svmaxnmp_x (svptrue_b64 (), z1
, z0
))
88 ** ptrue_maxnmp_f64_x_untied:
90 ** ptrue p[0-9]+\.b[^\n]*
94 TEST_UNIFORM_Z (ptrue_maxnmp_f64_x_untied
, svfloat64_t
,
95 z0
= svmaxnmp_f64_x (svptrue_b64 (), z1
, z2
),
96 z0
= svmaxnmp_x (svptrue_b64 (), z1
, z2
))