]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/mlalb_u16.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** umlalb z0\.h, z4\.b, z5\.b
10 TEST_DUAL_Z (mlalb_u16_tied1
, svuint16_t
, svuint8_t
,
11 z0
= svmlalb_u16 (z0
, z4
, z5
),
12 z0
= svmlalb (z0
, z4
, z5
))
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** umlalb z0\.h, \1\.b, z1\.b
21 TEST_DUAL_Z_REV (mlalb_u16_tied2
, svuint16_t
, svuint8_t
,
22 z0_res
= svmlalb_u16 (z4
, z0
, z1
),
23 z0_res
= svmlalb (z4
, z0
, z1
))
27 ** mov (z[0-9]+)\.d, z0\.d
29 ** umlalb z0\.h, z1\.b, \1\.b
32 TEST_DUAL_Z_REV (mlalb_u16_tied3
, svuint16_t
, svuint8_t
,
33 z0_res
= svmlalb_u16 (z4
, z1
, z0
),
34 z0_res
= svmlalb (z4
, z1
, z0
))
39 ** umlalb z0\.h, z4\.b, z5\.b
42 TEST_DUAL_Z (mlalb_u16_untied
, svuint16_t
, svuint8_t
,
43 z0
= svmlalb_u16 (z1
, z4
, z5
),
44 z0
= svmlalb (z1
, z4
, z5
))
47 ** mlalb_w0_u16_tied1:
48 ** mov (z[0-9]+\.b), w0
49 ** umlalb z0\.h, z4\.b, \1
52 TEST_DUAL_ZX (mlalb_w0_u16_tied1
, svuint16_t
, svuint8_t
, uint8_t,
53 z0
= svmlalb_n_u16 (z0
, z4
, x0
),
54 z0
= svmlalb (z0
, z4
, x0
))
57 ** mlalb_w0_u16_untied:: { xfail *-*-*}
58 ** mov (z[0-9]+\.b), w0
60 ** umlalb z0\.h, z4\.b, \1
63 TEST_DUAL_ZX (mlalb_w0_u16_untied
, svuint16_t
, svuint8_t
, uint8_t,
64 z0
= svmlalb_n_u16 (z1
, z4
, x0
),
65 z0
= svmlalb (z1
, z4
, x0
))
68 ** mlalb_11_u16_tied1:
69 ** mov (z[0-9]+\.b), #11
70 ** umlalb z0\.h, z4\.b, \1
73 TEST_DUAL_Z (mlalb_11_u16_tied1
, svuint16_t
, svuint8_t
,
74 z0
= svmlalb_n_u16 (z0
, z4
, 11),
75 z0
= svmlalb (z0
, z4
, 11))
78 ** mlalb_11_u16_untied:: { xfail *-*-*}
79 ** mov (z[0-9]+\.b), #11
81 ** umlalb z0\.h, z4\.b, \1
84 TEST_DUAL_Z (mlalb_11_u16_untied
, svuint16_t
, svuint8_t
,
85 z0
= svmlalb_n_u16 (z1
, z4
, 11),
86 z0
= svmlalb (z1
, z4
, 11))