From: Jakub Jelinek Date: Sat, 5 Dec 2020 00:31:08 +0000 (+0100) Subject: i386: Combine splitters followup [PR96226] X-Git-Tag: upstream/12.2.0~11198 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=625e002396f7d0108f845bfba6a6f4f4fcadad05;p=platform%2Fupstream%2Fgcc.git i386: Combine splitters followup [PR96226] Here is the patch to simplify the newly added combine splitters, when we split into 2 insns anyway, no reason to split into the masking define_insn_and_split we'd be splitting shortly after. 2020-12-05 Jakub Jelinek PR target/96226 * config/i386/i386.md (splitter after *3_mask, splitter after *3_mask_1): Drop the masking from the patterns to split into. --- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 129d47b..0b28895 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -11988,8 +11988,7 @@ [(set (match_dup 4) (match_dup 1)) (set (match_dup 0) (any_rotate:SWI48 (match_dup 4) - (subreg:QI - (and:SI (match_dup 2) (match_dup 3)) 0)))] + (subreg:QI (match_dup 2) 0)))] "operands[4] = gen_reg_rtx (mode);") (define_insn_and_split "*3_mask_1" @@ -12023,8 +12022,7 @@ == GET_MODE_BITSIZE (mode) - 1" [(set (match_dup 4) (match_dup 1)) (set (match_dup 0) - (any_rotate:SWI48 (match_dup 4) - (and:QI (match_dup 2) (match_dup 3))))] + (any_rotate:SWI48 (match_dup 4) (match_dup 2)))] "operands[4] = gen_reg_rtx (mode);") ;; Implement rotation using two double-precision