From: Kyrylo Tkachov Date: Mon, 26 Jun 2023 16:54:42 +0000 (+0100) Subject: aarch64: Use instead of in scalar SQRSHRUN pattern X-Git-Tag: basepoints/gcc-15~8032 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79d8fbbcbf09dfcb6ca18b129fd7841e0eeb0ef5;p=thirdparty%2Fgcc.git aarch64: Use instead of in scalar SQRSHRUN pattern In the scalar pattern for SQRSHRUN it's a bit clearer to use DWI instead of V2XWIDE to make it more clear that no vector modes are involved. No behavioural change intended. Bootstrapped and tested on aarch64-none-linux-gnu. gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_sqrshrun_n_insn): Use instead of . (aarch64_sqrshrun_n): Likewise. --- diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 0ea112346b0d..4052ca9ef048 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -6713,14 +6713,14 @@ ) (define_insn "aarch64_sqrshrun_n_insn" - [(set (match_operand: 0 "register_operand" "=w") - (smin: - (smax: - (ashiftrt: - (plus: - (sign_extend: + [(set (match_operand: 0 "register_operand" "=w") + (smin: + (smax: + (ashiftrt: + (plus: + (sign_extend: (match_operand:SD_HSDI 1 "register_operand" "w")) - (match_operand: 3 "aarch64_int_rnd_operand")) + (match_operand: 3 "aarch64_int_rnd_operand")) (match_operand:SI 2 "aarch64_simd_shift_imm_offset_")) (const_int 0)) (const_int )))] @@ -6736,10 +6736,10 @@ (match_operand:SI 2 "aarch64_simd_shift_imm_offset_")] "TARGET_SIMD" { - int prec = GET_MODE_UNIT_PRECISION (mode); + int prec = GET_MODE_UNIT_PRECISION (mode); wide_int rnd_wi = wi::set_bit_in_zero (INTVAL (operands[2]) - 1, prec); - rtx rnd = immed_wide_int_const (rnd_wi, mode); - rtx dst = gen_reg_rtx (mode); + rtx rnd = immed_wide_int_const (rnd_wi, mode); + rtx dst = gen_reg_rtx (mode); emit_insn (gen_aarch64_sqrshrun_n_insn (dst, operands[1], operands[2], rnd)); emit_move_insn (operands[0], gen_lowpart (mode, dst)); DONE;