1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ 2 3 #include "test_sve_acle.h" 4 5 /* 6 ** qrdmulh_s64_tied1: 7 ** sqrdmulh z0\.d, z0\.d, z1\.d 8 ** ret 9 */ 10 TEST_UNIFORM_Z (qrdmulh_s64_tied1, svint64_t, 11 z0 = svqrdmulh_s64 (z0, z1), 12 z0 = svqrdmulh (z0, z1)) 13 14 /* 15 ** qrdmulh_s64_tied2: 16 ** sqrdmulh z0\.d, z1\.d, z0\.d 17 ** ret 18 */ 19 TEST_UNIFORM_Z (qrdmulh_s64_tied2, svint64_t, 20 z0 = svqrdmulh_s64 (z1, z0), 21 z0 = svqrdmulh (z1, z0)) 22 23 /* 24 ** qrdmulh_s64_untied: 25 ** sqrdmulh z0\.d, z1\.d, z2\.d 26 ** ret 27 */ 28 TEST_UNIFORM_Z (qrdmulh_s64_untied, svint64_t, 29 z0 = svqrdmulh_s64 (z1, z2), 30 z0 = svqrdmulh (z1, z2)) 31 32 /* 33 ** qrdmulh_x0_s64_tied1: 34 ** mov (z[0-9]+\.d), x0 35 ** sqrdmulh z0\.d, z0\.d, \1 36 ** ret 37 */ 38 TEST_UNIFORM_ZX (qrdmulh_x0_s64_tied1, svint64_t, int64_t, 39 z0 = svqrdmulh_n_s64 (z0, x0), 40 z0 = svqrdmulh (z0, x0)) 41 42 /* 43 ** qrdmulh_x0_s64_untied: 44 ** mov (z[0-9]+\.d), x0 45 ** sqrdmulh z0\.d, z1\.d, \1 46 ** ret 47 */ 48 TEST_UNIFORM_ZX (qrdmulh_x0_s64_untied, svint64_t, int64_t, 49 z0 = svqrdmulh_n_s64 (z1, x0), 50 z0 = svqrdmulh (z1, x0)) 51 52 /* 53 ** qrdmulh_11_s64_tied1: 54 ** mov (z[0-9]+\.d), #11 55 ** sqrdmulh z0\.d, z0\.d, \1 56 ** ret 57 */ 58 TEST_UNIFORM_Z (qrdmulh_11_s64_tied1, svint64_t, 59 z0 = svqrdmulh_n_s64 (z0, 11), 60 z0 = svqrdmulh (z0, 11)) 61 62 /* 63 ** qrdmulh_11_s64_untied: 64 ** mov (z[0-9]+\.d), #11 65 ** sqrdmulh z0\.d, z1\.d, \1 66 ** ret 67 */ 68 TEST_UNIFORM_Z (qrdmulh_11_s64_untied, svint64_t, 69 z0 = svqrdmulh_n_s64 (z1, 11), 70 z0 = svqrdmulh (z1, 11)) 71