1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
6 ** cvtnt_f32_f64_m_tied1:
7 ** fcvtnt z0\.s, p0/m, z4\.d
10 TEST_DUAL_Z (cvtnt_f32_f64_m_tied1
, svfloat32_t
, svfloat64_t
,
11 z0
= svcvtnt_f32_f64_m (z0
, p0
, z4
),
12 z0
= svcvtnt_f32_m (z0
, p0
, z4
))
14 /* Bad RA choice: no preferred output sequence. */
15 TEST_DUAL_Z_REV (cvtnt_f32_f64_m_tied2
, svfloat32_t
, svfloat64_t
,
16 z0_res
= svcvtnt_f32_f64_m (z4
, p0
, z0
),
17 z0_res
= svcvtnt_f32_m (z4
, p0
, z0
))
20 ** cvtnt_f32_f64_m_untied:
23 ** fcvtnt z0\.s, p0/m, z4\.d
25 ** fcvtnt z1\.s, p0/m, z4\.d
30 TEST_DUAL_Z (cvtnt_f32_f64_m_untied
, svfloat32_t
, svfloat64_t
,
31 z0
= svcvtnt_f32_f64_m (z1
, p0
, z4
),
32 z0
= svcvtnt_f32_m (z1
, p0
, z4
))
35 ** cvtnt_f32_f64_x_tied1:
36 ** fcvtnt z0\.s, p0/m, z4\.d
39 TEST_DUAL_Z (cvtnt_f32_f64_x_tied1
, svfloat32_t
, svfloat64_t
,
40 z0
= svcvtnt_f32_f64_x (z0
, p0
, z4
),
41 z0
= svcvtnt_f32_x (z0
, p0
, z4
))
43 /* Bad RA choice: no preferred output sequence. */
44 TEST_DUAL_Z_REV (cvtnt_f32_f64_x_tied2
, svfloat32_t
, svfloat64_t
,
45 z0_res
= svcvtnt_f32_f64_x (z4
, p0
, z0
),
46 z0_res
= svcvtnt_f32_x (z4
, p0
, z0
))
49 ** cvtnt_f32_f64_x_untied:
52 ** fcvtnt z0\.s, p0/m, z4\.d
54 ** fcvtnt z1\.s, p0/m, z4\.d
59 TEST_DUAL_Z (cvtnt_f32_f64_x_untied
, svfloat32_t
, svfloat64_t
,
60 z0
= svcvtnt_f32_f64_x (z1
, p0
, z4
),
61 z0
= svcvtnt_f32_x (z1
, p0
, z4
))
64 ** ptrue_cvtnt_f32_f64_x_tied1:
66 ** ptrue p[0-9]+\.b[^\n]*
70 TEST_DUAL_Z (ptrue_cvtnt_f32_f64_x_tied1
, svfloat32_t
, svfloat64_t
,
71 z0
= svcvtnt_f32_f64_x (z0
, svptrue_b64 (), z4
),
72 z0
= svcvtnt_f32_x (z0
, svptrue_b64 (), z4
))
74 /* Bad RA choice: no preferred output sequence. */
75 TEST_DUAL_Z_REV (ptrue_cvtnt_f32_f64_x_tied2
, svfloat32_t
, svfloat64_t
,
76 z0_res
= svcvtnt_f32_f64_x (z4
, svptrue_b64 (), z0
),
77 z0_res
= svcvtnt_f32_x (z4
, svptrue_b64 (), z0
))
80 ** ptrue_cvtnt_f32_f64_x_untied:
82 ** ptrue p[0-9]+\.b[^\n]*
86 TEST_DUAL_Z (ptrue_cvtnt_f32_f64_x_untied
, svfloat32_t
, svfloat64_t
,
87 z0
= svcvtnt_f32_f64_x (z1
, svptrue_b64 (), z4
),
88 z0
= svcvtnt_f32_x (z1
, svptrue_b64 (), z4
))