/*
** const_8_double_0:
-** movi v([0-9]+)\.2d, .*
+** movi v([0-9]+)\.\d+[bhsd], .*
** stp q\1, q\1, \[x0\]
** stp q\1, q\1, \[x0, #?32\]
** ret
/* 35bytes would become 4 scalar instructions. So favour NEON.
**set0neon:
-** movi v([0-9]+).4s, 0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** stp q\1, q\1, \[x0\]
** str wzr, \[x0, 31\]
** ret
/*
** revd_bf16_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_f16_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_f32_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_f64_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_s16_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_s32_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_s64_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_s8_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_u16_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_u32_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_u64_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** revd_u8_z_untied:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** revd z0\.q, p0/m, z1\.q
** ret
*/
/*
** acge_0_f16:
-** mov (z[0-9]+\.h), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facge p0\.h, p1/z, z0\.h, \1
+** facge p0\.h, p1/z, z0\.h, z\1\.h
** |
** facle p0\.h, p1/z, \1, z0\.h
** )
/*
** acge_0_f32:
-** mov (z[0-9]+\.s), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facge p0\.s, p1/z, z0\.s, \1
+** facge p0\.s, p1/z, z0\.s, z\1\.s
** |
** facle p0\.s, p1/z, \1, z0\.s
** )
/*
** acge_0_f64:
-** mov (z[0-9]+\.d), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facge p0\.d, p1/z, z0\.d, \1
+** facge p0\.d, p1/z, z0\.d, z\1\.d
** |
** facle p0\.d, p1/z, \1, z0\.d
** )
/*
** acgt_0_f16:
-** mov (z[0-9]+\.h), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facgt p0\.h, p1/z, z0\.h, \1
+** facgt p0\.h, p1/z, z0\.h, z\1\.h
** |
** faclt p0\.h, p1/z, \1, z0\.h
** )
/*
** acgt_0_f32:
-** mov (z[0-9]+\.s), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facgt p0\.s, p1/z, z0\.s, \1
+** facgt p0\.s, p1/z, z0\.s, z\1\.s
** |
** faclt p0\.s, p1/z, \1, z0\.s
** )
/*
** acgt_0_f64:
-** mov (z[0-9]+\.d), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
-** facgt p0\.d, p1/z, z0\.d, \1
+** facgt p0\.d, p1/z, z0\.d, z\1\.d
** |
** faclt p0\.d, p1/z, \1, z0\.d
** )
/*
** acle_0_f16:
-** mov (z[0-9]+\.h), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facge p0\.h, p1/z, \1, z0\.h
** |
-** facle p0\.h, p1/z, z0\.h, \1
+** facle p0\.h, p1/z, z0\.h, z\1\.h
** )
** ret
*/
/*
** acle_0_f32:
-** mov (z[0-9]+\.s), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facge p0\.s, p1/z, \1, z0\.s
** |
-** facle p0\.s, p1/z, z0\.s, \1
+** facle p0\.s, p1/z, z0\.s, z\1\.s
** )
** ret
*/
/*
** acle_0_f64:
-** mov (z[0-9]+\.d), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facge p0\.d, p1/z, \1, z0\.d
** |
-** facle p0\.d, p1/z, z0\.d, \1
+** facle p0\.d, p1/z, z0\.d, z\1\.d
** )
** ret
*/
/*
** aclt_0_f16:
-** mov (z[0-9]+\.h), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facgt p0\.h, p1/z, \1, z0\.h
** |
-** faclt p0\.h, p1/z, z0\.h, \1
+** faclt p0\.h, p1/z, z0\.h, z\1\.h
** )
** ret
*/
/*
** aclt_0_f32:
-** mov (z[0-9]+\.s), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facgt p0\.s, p1/z, \1, z0\.s
** |
-** faclt p0\.s, p1/z, z0\.s, \1
+** faclt p0\.s, p1/z, z0\.s, z\1\.s
** )
** ret
*/
/*
** aclt_0_f64:
-** mov (z[0-9]+\.d), #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** (
** facgt p0\.d, p1/z, \1, z0\.d
** |
-** faclt p0\.d, p1/z, z0\.d, \1
+** faclt p0\.d, p1/z, z0\.d, z\1\.d
** )
** ret
*/
/*
** bic_255_s8_x:
-** mov z0\.b, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (bic_255_s8_x, svint8_t,
/*
** bic_255_u8_x:
-** mov z0\.b, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (bic_255_u8_x, svuint8_t,
/*
** cmpuo_0_f16:
-** mov (z[0-9]+\.h), #0
-** fcmuo p0\.h, p1/z, (z0\.h, \1|\1, z0\.h)
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** fcmuo p0\.h, p1/z, (z0\.h, z\1\.h|z\1\.h, z0\.h)
** ret
*/
TEST_COMPARE_Z (cmpuo_0_f16, svfloat16_t,
/*
** cmpuo_0_f32:
-** mov (z[0-9]+\.s), #0
-** fcmuo p0\.s, p1/z, (z0\.s, \1|\1, z0\.s)
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** fcmuo p0\.s, p1/z, (z0\.s, z\1\.s|z\1\.s, z0\.s)
** ret
*/
TEST_COMPARE_Z (cmpuo_0_f32, svfloat32_t,
/*
** cmpuo_0_f64:
-** mov (z[0-9]+\.d), #0
-** fcmuo p0\.d, p1/z, (z0\.d, \1|\1, z0\.d)
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** fcmuo p0\.d, p1/z, (z0\.d, z\1\.d|z\1\.d, z0\.d)
** ret
*/
TEST_COMPARE_Z (cmpuo_0_f64, svfloat64_t,
/*
** dup_0_f16:
-** mov z0\.h, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f16, svfloat16_t,
/*
** dup_0_f16_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f16_z, svfloat16_t,
/*
** dup_0_f16_x:
-** mov z0\.h, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f16_x, svfloat16_t,
/*
** dup_0_f32:
-** mov z0\.s, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f32, svfloat32_t,
/*
** dup_0_f32_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f32_z, svfloat32_t,
/*
** dup_0_f32_x:
-** mov z0\.s, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f32_x, svfloat32_t,
/*
** dup_0_f64:
-** mov z0\.d, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f64, svfloat64_t,
/*
** dup_0_f64_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f64_z, svfloat64_t,
/*
** dup_0_f64_x:
-** mov z0\.d, #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_f64_x, svfloat64_t,
/*
** dup_128_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #128
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_254_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #254
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_255_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #255
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_257_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+)\.b, #1
-** sel z0\.h, p0, \2\.h, \1\.h
+** sel z0\.h, p0, \2\.h, z\1\.h
** |
** mov (z[0-9]+)\.b, #1
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3\.h, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3\.h, z\4\.h
** )
** ret
*/
/*
** dup_7ffe_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #32766
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_7fff_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #32767
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m129_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-129
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m255_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-255
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m257_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-257
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m258_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+)\.b, #-2
-** sel z0\.h, p0, \2\.h, \1\.h
+** sel z0\.h, p0, \2\.h, z\1\.h
** |
** mov (z[0-9]+)\.b, #-2
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3\.h, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3\.h, z\4\.h
** )
** ret
*/
/*
** dup_m7f01_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-32513
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m7fff_s16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-32767
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_0_s16_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_s16_z, svint16_t,
/*
** dup_128_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #128
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_254_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #254
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_255_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #255
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_7ffe_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #32766
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_7fff_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #32767
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m129_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-129
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m255_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-255
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m257_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-257
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m7f01_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-32513
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m7fff_s32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-32767
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_0_s32_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_s32_z, svint32_t,
/*
** dup_128_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #128
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_254_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #254
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_255_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #255
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_7ffe_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #32766
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_7fff_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #32767
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m129_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-129
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m255_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-255
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m257_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-257
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m7f01_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-32513
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m7fff_s64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-32767
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_0_s64_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_s64_z, svint64_t,
/*
** dup_0_s8_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_s8_z, svint8_t,
/*
** dup_128_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #128
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_254_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #254
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_255_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #255
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_257_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+)\.b, #1
-** sel z0\.h, p0, \2\.h, \1\.h
+** sel z0\.h, p0, \2\.h, z\1\.h
** |
** mov (z[0-9]+)\.b, #1
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3\.h, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3\.h, z\4\.h
** )
** ret
*/
/*
** dup_7ffe_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #32766
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_7fff_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #32767
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m129_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-129
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m255_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-255
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m257_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-257
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m258_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+)\.b, #-2
-** sel z0\.h, p0, \2\.h, \1\.h
+** sel z0\.h, p0, \2\.h, z\1\.h
** |
** mov (z[0-9]+)\.b, #-2
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3\.h, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3\.h, z\4\.h
** )
** ret
*/
/*
** dup_m7f01_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-32513
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_m7fff_u16_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.h), #-32767
-** sel z0\.h, p0, \2, \1\.h
+** sel z0\.h, p0, \2, z\1\.h
** |
** mov (z[0-9]+\.h), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.h, p0, \3, \4\.h
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.h, p0, \3, z\4\.h
** )
** ret
*/
/*
** dup_0_u16_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_u16_z, svuint16_t,
/*
** dup_128_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #128
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_254_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #254
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_255_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #255
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_7ffe_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #32766
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_7fff_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #32767
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m129_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-129
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m255_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-255
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m257_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-257
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m7f01_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-32513
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_m7fff_u32_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.s), #-32767
-** sel z0\.s, p0, \2, \1\.s
+** sel z0\.s, p0, \2, z\1\.s
** |
** mov (z[0-9]+\.s), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.s, p0, \3, \4\.s
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.s, p0, \3, z\4\.s
** )
** ret
*/
/*
** dup_0_u32_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_u32_z, svuint32_t,
/*
** dup_128_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #128
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #128
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_254_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #254
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #254
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_255_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #255
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_7ffe_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #32766
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #32766
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_7fff_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #32767
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m129_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-129
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-129
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m255_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-255
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-255
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m257_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-257
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-257
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m7f01_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-32513
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-32513
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_m7fff_u64_z:
** (
-** mov (z[0-9]+)\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** mov (z[0-9]+\.d), #-32767
-** sel z0\.d, p0, \2, \1\.d
+** sel z0\.d, p0, \2, z\1\.d
** |
** mov (z[0-9]+\.d), #-32767
-** mov (z[0-9]+)\.b, #0
-** sel z0\.d, p0, \3, \4\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sel z0\.d, p0, \3, z\4\.d
** )
** ret
*/
/*
** dup_0_u64_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_u64_z, svuint64_t,
/*
** dup_0_u8_z:
-** mov z0\.[bhsd], #0
+** movi? [vdz]0\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
TEST_UNIFORM_Z (dup_0_u8_z, svuint8_t,
/*
** s64_x_pg_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_0 (svbool_t pg)
/*
** s64_x_pg_by0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_by0 (svbool_t pg)
/*
** s64_z_pg_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_0 (svbool_t pg)
/*
** s64_z_pg_by0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_by0 (svbool_t pg)
/*
** s64_x_pg_n_s64_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_n_s64_0 (svbool_t pg)
/*
** s64_x_pg_n_s64_by0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_n_s64_by0 (svbool_t pg)
/*
** s64_z_pg_n_s64_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_n_s64_0 (svbool_t pg)
/*
** s64_z_pg_n_s64_by0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_n_s64_by0 (svbool_t pg)
/*
** s32_m_ptrue_dupq:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint32_t s32_m_ptrue_dupq ()
/*
** s64_x_pg_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_0 (svbool_t pg)
/*
** s64_z_pg_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_0 (svbool_t pg)
/*
** s64_x_pg_n_s64_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_n_s64_0 (svbool_t pg)
/*
** s64_z_pg_n_s64_0:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_n_s64_0 (svbool_t pg)
/* { dg-final { scan-assembler {\tmov\tz[0-9]+\.b, #-1\n} } } */
-/* { dg-final { scan-assembler {\tmov\tz[0-9]+\.b, #0\n} } } */
+/* { dg-final { scan-assembler {\tmov(?:i\td|\tz)([0-9]+)(?:\.[bhsd])?, #0\n} } } */
/* { dg-final { scan-assembler {\tmov\tz[0-9]+\.b, #1\n} } } */
/* { dg-final { scan-assembler {\tmov\tz[0-9]+\.h, #1\n} } } */
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.s, #3.1e\+1\n} 1 } } */
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.s, #2.421875e-1\n} 1 } } */
-/* { dg-final { scan-assembler-times {\tmov\tz[0-9]+\.s, #0\n} 1 } } */
-
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.d,} 7 } } */
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.d, #1.0e\+0\n} 1 } } */
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.d, #3.1e\+1\n} 1 } } */
/* { dg-final { scan-assembler-times {\tfmov\tz[0-9]+\.d, #2.421875e-1\n} 1 } } */
-/* { dg-final { scan-assembler-times {\tmov\tz[0-9]+\.d, #0\n} 1 } } */
+/* { dg-final { scan-assembler-times {\tmov(?:i\td|\tz)([0-9]+)(?:\.[bhsd])?, #0\n} 2 } } */
/*
** s64_x_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_z_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_m_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_x_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_ptrue_op1 (svint64_t op2)
/*
** s64_z_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_ptrue_op1 (svint64_t op2)
/*
** s64_m_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_ptrue_op1 (svint64_t op2)
/*
** s64_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_m_pg_op2:
-** mov (z[0-9]+)\.b, #0
-** sdiv (z[0-9]\.d), p[0-7]/m, \2, \1\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sdiv (z[0-9]\.d), p[0-7]/m, \2, z\1\.d
** ret
*/
svint64_t s64_m_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_ptrue_op2 (svint64_t op1)
/*
** s64_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_ptrue_op2 (svint64_t op1)
/*
** s64_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_ptrue_op2 (svint64_t op1)
/*
** s64_n_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_x_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_n_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_z_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_n_m_pg_op2:
-** mov (z[0-9]+)\.b, #0
-** sdiv (z[0-9]+\.d), p[0-7]/m, \2, \1\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** sdiv (z[0-9]+\.d), p[0-7]/m, \2, z\1\.d
** ret
*/
svint64_t s64_n_m_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_n_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_x_ptrue_op2 (svint64_t op1)
/*
** s64_n_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_z_ptrue_op2 (svint64_t op1)
/*
** s64_n_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_m_ptrue_op2 (svint64_t op1)
/*
** u64_x_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_z_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_m_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_x_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_ptrue_op1 (svuint64_t op2)
/*
** u64_z_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_ptrue_op1 (svuint64_t op2)
/*
** u64_m_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_ptrue_op1 (svuint64_t op2)
/*
** u64_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_m_pg_op2:
-** mov (z[0-9]+)\.b, #0
-** udiv (z[0-9]+\.d), p[0-7]/m, \2, \1\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** udiv (z[0-9]+\.d), p[0-7]/m, \2, z\1\.d
** ret
*/
svuint64_t u64_m_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_ptrue_op2 (svuint64_t op1)
/*
** u64_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_ptrue_op2 (svuint64_t op1)
/*
** u64_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_ptrue_op2 (svuint64_t op1)
/*
** u64_n_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_x_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_n_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_z_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_n_m_pg_op2:
-** mov (z[0-9]+)\.b, #0
-** udiv (z[0-9]+\.d), p[0-7]/m, \2, \1\.d
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
+** udiv (z[0-9]+\.d), p[0-7]/m, \2, z\1\.d
** ret
*/
svuint64_t u64_n_m_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_n_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_x_ptrue_op2 (svuint64_t op1)
/*
** u64_n_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_z_ptrue_op2 (svuint64_t op1)
/*
** u64_n_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_m_ptrue_op2 (svuint64_t op1)
/*
** s64_x_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_z_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_m_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_pg_op1 (svbool_t pg, svint64_t op2)
/*
** s64_x_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_ptrue_op1 (svint64_t op2)
/*
** s64_z_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_ptrue_op1 (svint64_t op2)
/*
** s64_m_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_ptrue_op1 (svint64_t op2)
/*
** s64_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_x_ptrue_op2 (svint64_t op1)
/*
** s64_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_z_ptrue_op2 (svint64_t op1)
/*
** s64_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_m_ptrue_op2 (svint64_t op1)
/*
** s64_n_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_x_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_n_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_z_pg_op2 (svbool_t pg, svint64_t op1)
/*
** s64_n_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_x_ptrue_op2 (svint64_t op1)
/*
** s64_n_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_z_ptrue_op2 (svint64_t op1)
/*
** s64_n_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svint64_t s64_n_m_ptrue_op2 (svint64_t op1)
/*
** u64_x_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_z_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_m_pg_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_pg_op1 (svbool_t pg, svuint64_t op2)
/*
** u64_x_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_ptrue_op1 (svuint64_t op2)
/*
** u64_z_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_ptrue_op1 (svuint64_t op2)
/*
** u64_m_ptrue_op1:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_ptrue_op1 (svuint64_t op2)
/*
** u64_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_x_ptrue_op2 (svuint64_t op1)
/*
** u64_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_z_ptrue_op2 (svuint64_t op1)
/*
** u64_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_m_ptrue_op2 (svuint64_t op1)
/*
** u64_n_x_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_x_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_n_z_pg_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_z_pg_op2 (svbool_t pg, svuint64_t op1)
/*
** u64_n_x_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_x_ptrue_op2 (svuint64_t op1)
/*
** u64_n_z_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_z_ptrue_op2 (svuint64_t op1)
/*
** u64_n_m_ptrue_op2:
-** mov z[0-9]+\.b, #0
+** movi? [vdz]([0-9]+)\.?(?:[0-9]*[bhsd])?, #?0
** ret
*/
svuint64_t u64_n_m_ptrue_op2 (svuint64_t op1)
svptrue_pat_b32 (SV_VL3));
}
-/* { dg-final { scan-assembler {\tmov\tz0\.b, #0\n} } } */
+/* { dg-final { scan-assembler {\tmov(\tz0\.b|i\td0), #0\n} } } */
/* { dg-final { scan-assembler {\tmov\tz1\.h, #1\n} } } */
/* { dg-final { scan-assembler {\tmov\tz2\.s, #2\n} } } */
/* { dg-final { scan-assembler {\tmov\tz3\.d, #3\n} } } */
svptrue_pat_b32 (SV_VL3));
}
-/* { dg-final { scan-assembler {\tmov\tz0\.b, #0\n} } } */
+/* { dg-final { scan-assembler {\tmov(\tz0\.b|i\td0), #0\n} } } */
/* { dg-final { scan-assembler {\tmov\tz1\.h, #1\n} } } */
/* { dg-final { scan-assembler {\tmov\tz2\.s, #2\n} } } */
/* { dg-final { scan-assembler {\tmov\tz3\.d, #3\n} } } */
svptrue_pat_b32 (SV_VL3));
}
-/* { dg-final { scan-assembler {\tmov\tz0\.[bhsd], #0\n} } } */
+/* { dg-final { scan-assembler {\tmov(\tz0\.[bhsd]|i\td0), #0\n} } } */
/* { dg-final { scan-assembler {\tfmov\tz1\.h, #1\.0} } } */
/* { dg-final { scan-assembler {\tfmov\tz2\.s, #2\.0} } } */
/* { dg-final { scan-assembler {\tfmov\tz3\.d, #3\.0} } } */
output[i] = 0.0;
}
-/* { dg-final { scan-assembler "movi\\tv\[0-9\]+\\.2d, 0" } } */
+/* { dg-final { scan-assembler {movi\tv[0-9]+\.\d+[bhsd], 0} } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */