]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlslb_lane_u32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
6 ** mlslb_lane_0_u32_tied1:
7 ** umlslb z0\.s, z4\.h, z5\.h\[0\]
10 TEST_DUAL_Z (mlslb_lane_0_u32_tied1
, svuint32_t
, svuint16_t
,
11 z0
= svmlslb_lane_u32 (z0
, z4
, z5
, 0),
12 z0
= svmlslb_lane (z0
, z4
, z5
, 0))
15 ** mlslb_lane_0_u32_tied2:
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** umlslb z0\.s, \1\.h, z1\.h\[0\]
21 TEST_DUAL_Z_REV (mlslb_lane_0_u32_tied2
, svuint32_t
, svuint16_t
,
22 z0_res
= svmlslb_lane_u32 (z4
, z0
, z1
, 0),
23 z0_res
= svmlslb_lane (z4
, z0
, z1
, 0))
26 ** mlslb_lane_0_u32_tied3:
27 ** mov (z[0-9]+)\.d, z0\.d
29 ** umlslb z0\.s, z1\.h, \1\.h\[0\]
32 TEST_DUAL_Z_REV (mlslb_lane_0_u32_tied3
, svuint32_t
, svuint16_t
,
33 z0_res
= svmlslb_lane_u32 (z4
, z1
, z0
, 0),
34 z0_res
= svmlslb_lane (z4
, z1
, z0
, 0))
37 ** mlslb_lane_0_u32_untied:
39 ** umlslb z0\.s, z4\.h, z5\.h\[0\]
42 TEST_DUAL_Z (mlslb_lane_0_u32_untied
, svuint32_t
, svuint16_t
,
43 z0
= svmlslb_lane_u32 (z1
, z4
, z5
, 0),
44 z0
= svmlslb_lane (z1
, z4
, z5
, 0))
48 ** umlslb z0\.s, z4\.h, z5\.h\[1\]
51 TEST_DUAL_Z (mlslb_lane_1_u32
, svuint32_t
, svuint16_t
,
52 z0
= svmlslb_lane_u32 (z0
, z4
, z5
, 1),
53 z0
= svmlslb_lane (z0
, z4
, z5
, 1))
57 ** str d8, \[sp, -16\]!
58 ** mov (z[0-7])\.d, z8\.d
59 ** umlslb z0\.s, z1\.h, \1\.h\[1\]
63 TEST_DUAL_LANE_REG (mlslb_lane_z8_u32
, svuint32_t
, svuint16_t
, z8
,
64 z0
= svmlslb_lane_u32 (z0
, z1
, z8
, 1),
65 z0
= svmlslb_lane (z0
, z1
, z8
, 1))
68 ** mlslb_lane_z16_u32:
69 ** mov (z[0-7])\.d, z16\.d
70 ** umlslb z0\.s, z1\.h, \1\.h\[1\]
73 TEST_DUAL_LANE_REG (mlslb_lane_z16_u32
, svuint32_t
, svuint16_t
, z16
,
74 z0
= svmlslb_lane_u32 (z0
, z1
, z16
, 1),
75 z0
= svmlslb_lane (z0
, z1
, z16
, 1))