1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ 2 3 #include "test_sve_acle.h" 4 5 /* 6 ** abs_f32_m_tied12: 7 ** fabs z0\.s, p0/m, z0\.s 8 ** ret 9 */ 10 TEST_UNIFORM_Z (abs_f32_m_tied12, svfloat32_t, 11 z0 = svabs_f32_m (z0, p0, z0), 12 z0 = svabs_m (z0, p0, z0)) 13 14 /* 15 ** abs_f32_m_tied1: 16 ** fabs z0\.s, p0/m, z1\.s 17 ** ret 18 */ 19 TEST_UNIFORM_Z (abs_f32_m_tied1, svfloat32_t, 20 z0 = svabs_f32_m (z0, p0, z1), 21 z0 = svabs_m (z0, p0, z1)) 22 23 /* 24 ** abs_f32_m_tied2: 25 ** mov (z[0-9]+)\.d, z0\.d 26 ** movprfx z0, z1 27 ** fabs z0\.s, p0/m, \1\.s 28 ** ret 29 */ 30 TEST_UNIFORM_Z (abs_f32_m_tied2, svfloat32_t, 31 z0 = svabs_f32_m (z1, p0, z0), 32 z0 = svabs_m (z1, p0, z0)) 33 34 /* 35 ** abs_f32_m_untied: 36 ** movprfx z0, z2 37 ** fabs z0\.s, p0/m, z1\.s 38 ** ret 39 */ 40 TEST_UNIFORM_Z (abs_f32_m_untied, svfloat32_t, 41 z0 = svabs_f32_m (z2, p0, z1), 42 z0 = svabs_m (z2, p0, z1)) 43 44 /* 45 ** abs_f32_z_tied1: 46 ** mov (z[0-9]+)\.d, z0\.d 47 ** movprfx z0\.s, p0/z, \1\.s 48 ** fabs z0\.s, p0/m, \1\.s 49 ** ret 50 */ 51 TEST_UNIFORM_Z (abs_f32_z_tied1, svfloat32_t, 52 z0 = svabs_f32_z (p0, z0), 53 z0 = svabs_z (p0, z0)) 54 55 /* 56 ** abs_f32_z_untied: 57 ** movprfx z0\.s, p0/z, z1\.s 58 ** fabs z0\.s, p0/m, z1\.s 59 ** ret 60 */ 61 TEST_UNIFORM_Z (abs_f32_z_untied, svfloat32_t, 62 z0 = svabs_f32_z (p0, z1), 63 z0 = svabs_z (p0, z1)) 64 65 /* 66 ** abs_f32_x_tied1: 67 ** fabs z0\.s, p0/m, z0\.s 68 ** ret 69 */ 70 TEST_UNIFORM_Z (abs_f32_x_tied1, svfloat32_t, 71 z0 = svabs_f32_x (p0, z0), 72 z0 = svabs_x (p0, z0)) 73 74 /* 75 ** abs_f32_x_untied: 76 ** fabs z0\.s, p0/m, z1\.s 77 ** ret 78 */ 79 TEST_UNIFORM_Z (abs_f32_x_untied, svfloat32_t, 80 z0 = svabs_f32_x (p0, z1), 81 z0 = svabs_x (p0, z1)) 82 83 /* 84 ** ptrue_abs_f32_x_tied1: 85 ** ... 86 ** ptrue p[0-9]+\.b[^\n]* 87 ** ... 88 ** ret 89 */ 90 TEST_UNIFORM_Z (ptrue_abs_f32_x_tied1, svfloat32_t, 91 z0 = svabs_f32_x (svptrue_b32 (), z0), 92 z0 = svabs_x (svptrue_b32 (), z0)) 93 94 /* 95 ** ptrue_abs_f32_x_untied: 96 ** ... 97 ** ptrue p[0-9]+\.b[^\n]* 98 ** ... 99 ** ret 100 */ 101 TEST_UNIFORM_Z (ptrue_abs_f32_x_untied, svfloat32_t, 102 z0 = svabs_f32_x (svptrue_b32 (), z1), 103 z0 = svabs_x (svptrue_b32 (), z1)) 104