Index: llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll =================================================================== --- llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll +++ llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll @@ -4,8 +4,8 @@ ; FADD ; -define @fadd_h( %pg, %a, %b) { -; CHECK-LABEL: fadd_h: +define @fadd_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fadd_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fadd z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -16,8 +16,8 @@ ret %out } -define @fadd_s( %pg, %a, %b) { -; CHECK-LABEL: fadd_s: +define @fadd_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fadd_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fadd z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -28,8 +28,8 @@ ret %out } -define @fadd_d( %pg, %a, %b) { -; CHECK-LABEL: fadd_d: +define @fadd_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fadd_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fadd z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -44,8 +44,8 @@ ; FMAX ; -define @fmax_h( %pg, %a, %b) { -; CHECK-LABEL: fmax_h: +define @fmax_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fmax_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fmax z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -56,8 +56,8 @@ ret %out } -define @fmax_s( %pg, %a, %b) { -; CHECK-LABEL: fmax_s: +define @fmax_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fmax_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fmax z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -68,8 +68,8 @@ ret %out } -define @fmax_d( %pg, %a, %b) { -; CHECK-LABEL: fmax_d: +define @fmax_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fmax_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fmax z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -84,8 +84,8 @@ ; FMAXNM ; -define @fmaxnm_h( %pg, %a, %b) { -; CHECK-LABEL: fmaxnm_h: +define @fmaxnm_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fmaxnm_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fmaxnm z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -96,8 +96,8 @@ ret %out } -define @fmaxnm_s( %pg, %a, %b) { -; CHECK-LABEL: fmaxnm_s: +define @fmaxnm_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fmaxnm_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fmaxnm z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -108,8 +108,8 @@ ret %out } -define @fmaxnm_d( %pg, %a, %b) { -; CHECK-LABEL: fmaxnm_d: +define @fmaxnm_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fmaxnm_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fmaxnm z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -124,8 +124,8 @@ ; FMIN ; -define @fmin_h( %pg, %a, %b) { -; CHECK-LABEL: fmin_h: +define @fmin_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fmin_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fmin z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -136,8 +136,8 @@ ret %out } -define @fmin_s( %pg, %a, %b) { -; CHECK-LABEL: fmin_s: +define @fmin_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fmin_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fmin z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -148,8 +148,8 @@ ret %out } -define @fmin_d( %pg, %a, %b) { -; CHECK-LABEL: fmin_d: +define @fmin_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fmin_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fmin z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -164,8 +164,8 @@ ; FMINNM ; -define @fminnm_h( %pg, %a, %b) { -; CHECK-LABEL: fminnm_h: +define @fminnm_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fminnm_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fminnm z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -176,8 +176,8 @@ ret %out } -define @fminnm_s( %pg, %a, %b) { -; CHECK-LABEL: fminnm_s: +define @fminnm_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fminnm_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fminnm z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -188,8 +188,8 @@ ret %out } -define @fminnm_d( %pg, %a, %b) { -; CHECK-LABEL: fminnm_d: +define @fminnm_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fminnm_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fminnm z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -204,8 +204,8 @@ ; FMUL ; -define @fmul_h( %pg, %a, %b) { -; CHECK-LABEL: fmul_h: +define @fmul_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fmul_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fmul z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -216,8 +216,8 @@ ret %out } -define @fmul_s( %pg, %a, %b) { -; CHECK-LABEL: fmul_s: +define @fmul_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fmul_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fmul z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -228,8 +228,8 @@ ret %out } -define @fmul_d( %pg, %a, %b) { -; CHECK-LABEL: fmul_d: +define @fmul_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fmul_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fmul z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -244,8 +244,8 @@ ; FSUB ; -define @fsub_h( %pg, %a, %b) { -; CHECK-LABEL: fsub_h: +define @fsub_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fsub_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fsub z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -256,8 +256,8 @@ ret %out } -define @fsub_s( %pg, %a, %b) { -; CHECK-LABEL: fsub_s: +define @fsub_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fsub_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fsub z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -268,8 +268,8 @@ ret %out } -define @fsub_d( %pg, %a, %b) { -; CHECK-LABEL: fsub_d: +define @fsub_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fsub_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fsub z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -284,8 +284,8 @@ ; FSUBR ; -define @fsubr_h( %pg, %a, %b) { -; CHECK-LABEL: fsubr_h: +define @fsubr_h_zero( %pg, %a, %b) { +; CHECK-LABEL: fsubr_h_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: fsubr z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -296,8 +296,8 @@ ret %out } -define @fsubr_s( %pg, %a, %b) { -; CHECK-LABEL: fsubr_s: +define @fsubr_s_zero( %pg, %a, %b) { +; CHECK-LABEL: fsubr_s_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: fsubr z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -308,8 +308,8 @@ ret %out } -define @fsubr_d( %pg, %a, %b) { -; CHECK-LABEL: fsubr_d: +define @fsubr_d_zero( %pg, %a, %b) { +; CHECK-LABEL: fsubr_d_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: fsubr z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret Index: llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll =================================================================== --- llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll +++ llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll @@ -4,8 +4,8 @@ ; ADD ; -define @add_i8( %pg, %a, %b) { -; CHECK-LABEL: add_i8: +define @add_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: add_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: add z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -16,8 +16,8 @@ ret %out } -define @add_i16( %pg, %a, %b) { -; CHECK-LABEL: add_i16: +define @add_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: add_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: add z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -28,8 +28,8 @@ ret %out } -define @add_i32( %pg, %a, %b) { -; CHECK-LABEL: add_i32: +define @add_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: add_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: add z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -40,8 +40,8 @@ ret %out } -define @add_i64( %pg, %a, %b) { -; CHECK-LABEL: add_i64: +define @add_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: add_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: add z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -56,8 +56,8 @@ ; SUB ; -define @sub_i8( %pg, %a, %b) { -; CHECK-LABEL: sub_i8: +define @sub_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: sub_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: sub z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -68,8 +68,8 @@ ret %out } -define @sub_i16( %pg, %a, %b) { -; CHECK-LABEL: sub_i16: +define @sub_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: sub_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: sub z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -80,8 +80,8 @@ ret %out } -define @sub_i32( %pg, %a, %b) { -; CHECK-LABEL: sub_i32: +define @sub_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: sub_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: sub z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -92,8 +92,8 @@ ret %out } -define @sub_i64( %pg, %a, %b) { -; CHECK-LABEL: sub_i64: +define @sub_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: sub_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: sub z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -108,8 +108,8 @@ ; SUBR ; -define @subr_i8( %pg, %a, %b) { -; CHECK-LABEL: subr_i8: +define @subr_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: subr_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: subr z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -120,8 +120,8 @@ ret %out } -define @subr_i16( %pg, %a, %b) { -; CHECK-LABEL: subr_i16: +define @subr_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: subr_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: subr z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -132,8 +132,8 @@ ret %out } -define @subr_i32( %pg, %a, %b) { -; CHECK-LABEL: subr_i32: +define @subr_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: subr_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: subr z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -144,8 +144,8 @@ ret %out } -define @subr_i64( %pg, %a, %b) { -; CHECK-LABEL: subr_i64: +define @subr_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: subr_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: subr z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret Index: llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll =================================================================== --- llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll +++ llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll @@ -4,8 +4,8 @@ ; ASR ; -define @asr_i8( %pg, %a, %b) { -; CHECK-LABEL: asr_i8: +define @asr_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: asr z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -16,8 +16,8 @@ ret %out } -define @asr_i16( %pg, %a, %b) { -; CHECK-LABEL: asr_i16: +define @asr_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: asr z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -28,8 +28,8 @@ ret %out } -define @asr_i32( %pg, %a, %b) { -; CHECK-LABEL: asr_i32: +define @asr_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: asr z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -40,8 +40,8 @@ ret %out } -define @asr_i64( %pg, %a, %b) { -; CHECK-LABEL: asr_i64: +define @asr_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: asr z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -52,8 +52,8 @@ ret %out } -define @asr_wide_i8( %pg, %a, %b) { -; CHECK-LABEL: asr_wide_i8: +define @asr_wide_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_wide_i8_zero: ; CHECK-NOT: movprfx ; CHECK: asr z0.b, p0/m, z0.b, z1.d %a_z = select %pg, %a, zeroinitializer @@ -63,8 +63,8 @@ ret %out } -define @asr_wide_i16( %pg, %a, %b) { -; CHECK-LABEL: asr_wide_i16: +define @asr_wide_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_wide_i16_zero: ; CHECK-NOT: movprfx ; CHECK: asr z0.h, p0/m, z0.h, z1.d %a_z = select %pg, %a, zeroinitializer @@ -74,8 +74,8 @@ ret %out } -define @asr_wide_i32( %pg, %a, %b) { -; CHECK-LABEL: asr_wide_i32: +define @asr_wide_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: asr_wide_i32_zero: ; CHECK-NOT: movprfx ; CHECK: asr z0.s, p0/m, z0.s, z1.d %a_z = select %pg, %a, zeroinitializer @@ -89,8 +89,8 @@ ; ASRD ; -define @asrd_i8( %pg, %a) { -; CHECK-LABEL: asrd_i8: +define @asrd_i8_zero( %pg, %a) { +; CHECK-LABEL: asrd_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: asrd z0.b, p0/m, z0.b, #1 ; CHECK-NEXT: ret @@ -101,8 +101,8 @@ ret %out } -define @asrd_i16( %pg, %a) { -; CHECK-LABEL: asrd_i16: +define @asrd_i16_zero( %pg, %a) { +; CHECK-LABEL: asrd_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: asrd z0.h, p0/m, z0.h, #2 ; CHECK-NEXT: ret @@ -113,8 +113,8 @@ ret %out } -define @asrd_i32( %pg, %a) { -; CHECK-LABEL: asrd_i32: +define @asrd_i32_zero( %pg, %a) { +; CHECK-LABEL: asrd_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: asrd z0.s, p0/m, z0.s, #31 ; CHECK-NEXT: ret @@ -125,8 +125,8 @@ ret %out } -define @asrd_i64( %pg, %a) { -; CHECK-LABEL: asrd_i64: +define @asrd_i64_zero( %pg, %a) { +; CHECK-LABEL: asrd_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: asrd z0.d, p0/m, z0.d, #64 ; CHECK-NEXT: ret @@ -141,8 +141,8 @@ ; LSL ; -define @lsl_i8( %pg, %a, %b) { -; CHECK-LABEL: lsl_i8: +define @lsl_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: lsl z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -153,8 +153,8 @@ ret %out } -define @lsl_i16( %pg, %a, %b) { -; CHECK-LABEL: lsl_i16: +define @lsl_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: lsl z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -165,8 +165,8 @@ ret %out } -define @lsl_i32( %pg, %a, %b) { -; CHECK-LABEL: lsl_i32: +define @lsl_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: lsl z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -177,8 +177,8 @@ ret %out } -define @lsl_i64( %pg, %a, %b) { -; CHECK-LABEL: lsl_i64: +define @lsl_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: lsl z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -189,8 +189,8 @@ ret %out } -define @lsl_wide_i8( %pg, %a, %b) { -; CHECK-LABEL: lsl_wide_i8: +define @lsl_wide_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_wide_i8_zero: ; CHECK-NOT: movprfx ; CHECK: lsl z0.b, p0/m, z0.b, z1.d %a_z = select %pg, %a, zeroinitializer @@ -200,8 +200,8 @@ ret %out } -define @lsl_wide_i16( %pg, %a, %b) { -; CHECK-LABEL: lsl_wide_i16: +define @lsl_wide_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_wide_i16_zero: ; CHECK-NOT: movprfx ; CHECK: lsl z0.h, p0/m, z0.h, z1.d %a_z = select %pg, %a, zeroinitializer @@ -211,8 +211,8 @@ ret %out } -define @lsl_wide_i32( %pg, %a, %b) { -; CHECK-LABEL: lsl_wide_i32: +define @lsl_wide_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: lsl_wide_i32_zero: ; CHECK-NOT: movprfx ; CHECK: lsl z0.s, p0/m, z0.s, z1.d %a_z = select %pg, %a, zeroinitializer @@ -226,8 +226,8 @@ ; LSR ; -define @lsr_i8( %pg, %a, %b) { -; CHECK-LABEL: lsr_i8: +define @lsr_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_i8_zero: ; CHECK: movprfx z0.b, p0/z, z0.b ; CHECK-NEXT: lsr z0.b, p0/m, z0.b, z1.b ; CHECK-NEXT: ret @@ -238,8 +238,8 @@ ret %out } -define @lsr_i16( %pg, %a, %b) { -; CHECK-LABEL: lsr_i16: +define @lsr_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_i16_zero: ; CHECK: movprfx z0.h, p0/z, z0.h ; CHECK-NEXT: lsr z0.h, p0/m, z0.h, z1.h ; CHECK-NEXT: ret @@ -250,8 +250,8 @@ ret %out } -define @lsr_i32( %pg, %a, %b) { -; CHECK-LABEL: lsr_i32: +define @lsr_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_i32_zero: ; CHECK: movprfx z0.s, p0/z, z0.s ; CHECK-NEXT: lsr z0.s, p0/m, z0.s, z1.s ; CHECK-NEXT: ret @@ -262,8 +262,8 @@ ret %out } -define @lsr_i64( %pg, %a, %b) { -; CHECK-LABEL: lsr_i64: +define @lsr_i64_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_i64_zero: ; CHECK: movprfx z0.d, p0/z, z0.d ; CHECK-NEXT: lsr z0.d, p0/m, z0.d, z1.d ; CHECK-NEXT: ret @@ -274,8 +274,8 @@ ret %out } -define @lsr_wide_i8( %pg, %a, %b) { -; CHECK-LABEL: lsr_wide_i8: +define @lsr_wide_i8_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_wide_i8_zero: ; CHECK-NOT: movprfx ; CHECK: lsr z0.b, p0/m, z0.b, z1.d %a_z = select %pg, %a, zeroinitializer @@ -285,8 +285,8 @@ ret %out } -define @lsr_wide_i16( %pg, %a, %b) { -; CHECK-LABEL: lsr_wide_i16: +define @lsr_wide_i16_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_wide_i16_zero: ; CHECK-NOT: movprfx ; CHECK: lsr z0.h, p0/m, z0.h, z1.d %a_z = select %pg, %a, zeroinitializer @@ -296,8 +296,8 @@ ret %out } -define @lsr_wide_i32( %pg, %a, %b) { -; CHECK-LABEL: lsr_wide_i32: +define @lsr_wide_i32_zero( %pg, %a, %b) { +; CHECK-LABEL: lsr_wide_i32_zero: ; CHECK-NOT: movprfx ; CHECK: lsr z0.s, p0/m, z0.s, z1.d %a_z = select %pg, %a, zeroinitializer