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