]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mla_lane_s16.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
6 ** mla_lane_0_s16_tied1:
7 ** mla z0\.h, z1\.h, z2\.h\[0\]
10 TEST_UNIFORM_Z (mla_lane_0_s16_tied1
, svint16_t
,
11 z0
= svmla_lane_s16 (z0
, z1
, z2
, 0),
12 z0
= svmla_lane (z0
, z1
, z2
, 0))
15 ** mla_lane_0_s16_tied2:
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** mla z0\.h, \1\.h, z2\.h\[0\]
21 TEST_UNIFORM_Z (mla_lane_0_s16_tied2
, svint16_t
,
22 z0
= svmla_lane_s16 (z1
, z0
, z2
, 0),
23 z0
= svmla_lane (z1
, z0
, z2
, 0))
26 ** mla_lane_0_s16_tied3:
27 ** mov (z[0-9]+)\.d, z0\.d
29 ** mla z0\.h, z2\.h, \1\.h\[0\]
32 TEST_UNIFORM_Z (mla_lane_0_s16_tied3
, svint16_t
,
33 z0
= svmla_lane_s16 (z1
, z2
, z0
, 0),
34 z0
= svmla_lane (z1
, z2
, z0
, 0))
37 ** mla_lane_0_s16_untied:
39 ** mla z0\.h, z2\.h, z3\.h\[0\]
42 TEST_UNIFORM_Z (mla_lane_0_s16_untied
, svint16_t
,
43 z0
= svmla_lane_s16 (z1
, z2
, z3
, 0),
44 z0
= svmla_lane (z1
, z2
, z3
, 0))
48 ** mla z0\.h, z1\.h, z2\.h\[1\]
51 TEST_UNIFORM_Z (mla_lane_1_s16
, svint16_t
,
52 z0
= svmla_lane_s16 (z0
, z1
, z2
, 1),
53 z0
= svmla_lane (z0
, z1
, z2
, 1))
57 ** mla z0\.h, z1\.h, z2\.h\[2\]
60 TEST_UNIFORM_Z (mla_lane_2_s16
, svint16_t
,
61 z0
= svmla_lane_s16 (z0
, z1
, z2
, 2),
62 z0
= svmla_lane (z0
, z1
, z2
, 2))
66 ** mla z0\.h, z1\.h, z2\.h\[3\]
69 TEST_UNIFORM_Z (mla_lane_3_s16
, svint16_t
,
70 z0
= svmla_lane_s16 (z0
, z1
, z2
, 3),
71 z0
= svmla_lane (z0
, z1
, z2
, 3))
75 ** mla z0\.h, z1\.h, z2\.h\[4\]
78 TEST_UNIFORM_Z (mla_lane_4_s16
, svint16_t
,
79 z0
= svmla_lane_s16 (z0
, z1
, z2
, 4),
80 z0
= svmla_lane (z0
, z1
, z2
, 4))
84 ** mla z0\.h, z1\.h, z2\.h\[5\]
87 TEST_UNIFORM_Z (mla_lane_5_s16
, svint16_t
,
88 z0
= svmla_lane_s16 (z0
, z1
, z2
, 5),
89 z0
= svmla_lane (z0
, z1
, z2
, 5))
93 ** mla z0\.h, z1\.h, z2\.h\[6\]
96 TEST_UNIFORM_Z (mla_lane_6_s16
, svint16_t
,
97 z0
= svmla_lane_s16 (z0
, z1
, z2
, 6),
98 z0
= svmla_lane (z0
, z1
, z2
, 6))
102 ** mla z0\.h, z1\.h, z2\.h\[7\]
105 TEST_UNIFORM_Z (mla_lane_7_s16
, svint16_t
,
106 z0
= svmla_lane_s16 (z0
, z1
, z2
, 7),
107 z0
= svmla_lane (z0
, z1
, z2
, 7))
111 ** str d8, \[sp, -16\]!
112 ** mov (z[0-7])\.d, z8\.d
113 ** mla z0\.h, z1\.h, \1\.h\[1\]
114 ** ldr d8, \[sp\], 16
117 TEST_DUAL_LANE_REG (mla_lane_z8_s16
, svint16_t
, svint16_t
, z8
,
118 z0
= svmla_lane_s16 (z0
, z1
, z8
, 1),
119 z0
= svmla_lane (z0
, z1
, z8
, 1))
123 ** mov (z[0-7])\.d, z16\.d
124 ** mla z0\.h, z1\.h, \1\.h\[1\]
127 TEST_DUAL_LANE_REG (mla_lane_z16_s16
, svint16_t
, svint16_t
, z16
,
128 z0
= svmla_lane_s16 (z0
, z1
, z16
, 1),
129 z0
= svmla_lane (z0
, z1
, z16
, 1))