]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlslt_f32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** fmlslt z0\.s, z4\.h, z5\.h
10 TEST_DUAL_Z (mlslt_f32_tied1
, svfloat32_t
, svfloat16_t
,
11 z0
= svmlslt_f32 (z0
, z4
, z5
),
12 z0
= svmlslt (z0
, z4
, z5
))
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** fmlslt z0\.s, \1\.h, z1\.h
21 TEST_DUAL_Z_REV (mlslt_f32_tied2
, svfloat32_t
, svfloat16_t
,
22 z0_res
= svmlslt_f32 (z4
, z0
, z1
),
23 z0_res
= svmlslt (z4
, z0
, z1
))
27 ** mov (z[0-9]+)\.d, z0\.d
29 ** fmlslt z0\.s, z1\.h, \1\.h
32 TEST_DUAL_Z_REV (mlslt_f32_tied3
, svfloat32_t
, svfloat16_t
,
33 z0_res
= svmlslt_f32 (z4
, z1
, z0
),
34 z0_res
= svmlslt (z4
, z1
, z0
))
39 ** fmlslt z0\.s, z4\.h, z5\.h
42 TEST_DUAL_Z (mlslt_f32_untied
, svfloat32_t
, svfloat16_t
,
43 z0
= svmlslt_f32 (z1
, z4
, z5
),
44 z0
= svmlslt (z1
, z4
, z5
))
47 ** mlslt_h7_f32_tied1:
48 ** mov (z[0-9]+\.h), h7
49 ** fmlslt z0\.s, z4\.h, \1
52 TEST_DUAL_ZD (mlslt_h7_f32_tied1
, svfloat32_t
, svfloat16_t
, float16_t
,
53 z0
= svmlslt_n_f32 (z0
, z4
, d7
),
54 z0
= svmlslt (z0
, z4
, d7
))
57 ** mlslt_h7_f32_untied:
58 ** mov (z[0-9]+\.h), h7
60 ** fmlslt z0\.s, z4\.h, \1
63 TEST_DUAL_ZD (mlslt_h7_f32_untied
, svfloat32_t
, svfloat16_t
, float16_t
,
64 z0
= svmlslt_n_f32 (z1
, z4
, d7
),
65 z0
= svmlslt (z1
, z4
, d7
))
69 ** fmov (z[0-9]+\.h), #2\.0(?:e\+0)?
70 ** fmlslt z0\.s, z4\.h, \1
73 TEST_DUAL_Z (mlslt_2_f32_tied1
, svfloat32_t
, svfloat16_t
,
74 z0
= svmlslt_n_f32 (z0
, z4
, 2),
75 z0
= svmlslt (z0
, z4
, 2))
78 ** mlslt_2_f32_untied:
79 ** fmov (z[0-9]+\.h), #2\.0(?:e\+0)?
81 ** fmlslt z0\.s, z4\.h, \1
84 TEST_DUAL_Z (mlslt_2_f32_untied
, svfloat32_t
, svfloat16_t
,
85 z0
= svmlslt_n_f32 (z1
, z4
, 2),
86 z0
= svmlslt (z1
, z4
, 2))