]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/logb_f64.c
[AArch64] Add support for the SVE2 ACLE
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve2 / acle / asm / logb_f64.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2
3 #include "test_sve_acle.h"
4
5 /*
6 ** logb_f64_m_tied1:
7 ** flogb z0\.d, p0/m, z4\.d
8 ** ret
9 */
10 TEST_DUAL_Z (logb_f64_m_tied1, svint64_t, svfloat64_t,
11 z0 = svlogb_f64_m (z0, p0, z4),
12 z0 = svlogb_m (z0, p0, z4))
13
14 /*
15 ** logb_f64_m_untied:
16 ** movprfx z0, z1
17 ** flogb z0\.d, p0/m, z4\.d
18 ** ret
19 */
20 TEST_DUAL_Z (logb_f64_m_untied, svint64_t, svfloat64_t,
21 z0 = svlogb_f64_m (z1, p0, z4),
22 z0 = svlogb_m (z1, p0, z4))
23
24 /*
25 ** logb_f64_z:
26 ** movprfx z0\.d, p0/z, z4\.d
27 ** flogb z0\.d, p0/m, z4\.d
28 ** ret
29 */
30 TEST_DUAL_Z (logb_f64_z, svint64_t, svfloat64_t,
31 z0 = svlogb_f64_z (p0, z4),
32 z0 = svlogb_z (p0, z4))
33
34 /*
35 ** logb_f64_x:
36 ** flogb z0\.d, p0/m, z4\.d
37 ** ret
38 */
39 TEST_DUAL_Z (logb_f64_x, svint64_t, svfloat64_t,
40 z0 = svlogb_f64_x (p0, z4),
41 z0 = svlogb_x (p0, z4))
42
43 /*
44 ** ptrue_logb_f64_x:
45 ** ...
46 ** ptrue p[0-9]+\.b[^\n]*
47 ** ...
48 ** ret
49 */
50 TEST_DUAL_Z (ptrue_logb_f64_x, svint64_t, svfloat64_t,
51 z0 = svlogb_f64_x (svptrue_b64 (), z4),
52 z0 = svlogb_x (svptrue_b64 (), z4))