1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ 2 3 #include "test_sve_acle.h" 4 5 /* 6 ** cmplt_wide_u32_tied: 7 ** cmplo p0\.s, p0/z, z0\.s, z1\.d 8 ** ret 9 */ 10 TEST_COMPARE_DUAL_Z (cmplt_wide_u32_tied, svuint32_t, svuint64_t, 11 p0 = svcmplt_wide_u32 (p0, z0, z1), 12 p0 = svcmplt_wide (p0, z0, z1)) 13 14 /* 15 ** cmplt_wide_u32_untied: 16 ** cmplo p0\.s, p1/z, z0\.s, z1\.d 17 ** ret 18 */ 19 TEST_COMPARE_DUAL_Z (cmplt_wide_u32_untied, svuint32_t, svuint64_t, 20 p0 = svcmplt_wide_u32 (p1, z0, z1), 21 p0 = svcmplt_wide (p1, z0, z1)) 22 23 /* 24 ** cmplt_wide_x0_u32: 25 ** mov (z[0-9]+\.d), x0 26 ** cmplo p0\.s, p1/z, z0\.s, \1 27 ** ret 28 */ 29 TEST_COMPARE_ZX (cmplt_wide_x0_u32, svuint32_t, uint64_t, 30 p0 = svcmplt_wide_n_u32 (p1, z0, x0), 31 p0 = svcmplt_wide (p1, z0, x0)) 32 33 /* 34 ** cmplt_wide_0_u32: 35 ** cmplo p0\.s, p1/z, z0\.s, #0 36 ** ret 37 */ 38 TEST_COMPARE_Z (cmplt_wide_0_u32, svuint32_t, 39 p0 = svcmplt_wide_n_u32 (p1, z0, 0), 40 p0 = svcmplt_wide (p1, z0, 0)) 41 42 /* 43 ** cmplt_wide_1_u32: 44 ** cmplo p0\.s, p1/z, z0\.s, #1 45 ** ret 46 */ 47 TEST_COMPARE_Z (cmplt_wide_1_u32, svuint32_t, 48 p0 = svcmplt_wide_n_u32 (p1, z0, 1), 49 p0 = svcmplt_wide (p1, z0, 1)) 50 51 /* 52 ** cmplt_wide_15_u32: 53 ** cmplo p0\.s, p1/z, z0\.s, #15 54 ** ret 55 */ 56 TEST_COMPARE_Z (cmplt_wide_15_u32, svuint32_t, 57 p0 = svcmplt_wide_n_u32 (p1, z0, 15), 58 p0 = svcmplt_wide (p1, z0, 15)) 59 60 /* 61 ** cmplt_wide_16_u32: 62 ** cmplo p0\.s, p1/z, z0\.s, #16 63 ** ret 64 */ 65 TEST_COMPARE_Z (cmplt_wide_16_u32, svuint32_t, 66 p0 = svcmplt_wide_n_u32 (p1, z0, 16), 67 p0 = svcmplt_wide (p1, z0, 16)) 68 69 /* 70 ** cmplt_wide_127_u32: 71 ** cmplo p0\.s, p1/z, z0\.s, #127 72 ** ret 73 */ 74 TEST_COMPARE_Z (cmplt_wide_127_u32, svuint32_t, 75 p0 = svcmplt_wide_n_u32 (p1, z0, 127), 76 p0 = svcmplt_wide (p1, z0, 127)) 77 78 /* 79 ** cmplt_wide_128_u32: 80 ** mov (z[0-9]+\.d), #128 81 ** cmplo p0\.s, p1/z, z0\.s, \1 82 ** ret 83 */ 84 TEST_COMPARE_Z (cmplt_wide_128_u32, svuint32_t, 85 p0 = svcmplt_wide_n_u32 (p1, z0, 128), 86 p0 = svcmplt_wide (p1, z0, 128)) 87 88 /* 89 ** cmplt_wide_m1_u32: 90 ** mov (z[0-9]+)\.b, #-1 91 ** cmplo p0\.s, p1/z, z0\.s, \1\.d 92 ** ret 93 */ 94 TEST_COMPARE_Z (cmplt_wide_m1_u32, svuint32_t, 95 p0 = svcmplt_wide_n_u32 (p1, z0, -1), 96 p0 = svcmplt_wide (p1, z0, -1)) 97