From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2066) id B06A2385694B; Wed, 7 Sep 2022 05:35:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B06A2385694B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1662528946; bh=WHq93Ei4AIIx8a7kvoELnpFTQt7xqw/v6SmPdp4UMmE=; h=From:To:Subject:Date:From; b=iTqGA2VdWKbPAZWc8OqQLF9FC2+KKTYIlqqYpj3tgA5qKlkVIneIXYb2qfZ9+Epi2 RFTL07XGQ/ionL0xYudkh0jdc6Uc60C45gg+W48DJawPKZXhp/L9t9sZ3auI6SxXSu xrc4X8q+rgHbxhhL+kYhpFL7+QkJ1S3ZUxkdVbAA= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jiu Fu Guo To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2507] rs6000: remove unused splitter on const_scalar_int_operand X-Act-Checkin: gcc X-Git-Author: Jiufu Guo X-Git-Refname: refs/heads/master X-Git-Oldrev: 34ea461fdb471b4d9afa555da69dbc6d02713c54 X-Git-Newrev: ea6e89e07f4223c8ac7877508c62bba368084999 Message-Id: <20220907053546.B06A2385694B@sourceware.org> Date: Wed, 7 Sep 2022 05:35:46 +0000 (GMT) List-Id: https://gcc.gnu.org/g:ea6e89e07f4223c8ac7877508c62bba368084999 commit r13-2507-gea6e89e07f4223c8ac7877508c62bba368084999 Author: Jiufu Guo Date: Wed Sep 7 13:32:55 2022 +0800 rs6000: remove unused splitter on const_scalar_int_operand There are two splitters, both are calling rs6000_emit_set_const to emit instructions for constant building. One splitter checks `const_int_operand`, this splitter is always used. Another spitter checks `const_scalar_int_operand`, this one is never used now. Checking the history, that splitter is introduced around 1999 for HOST_BITS_PER_WIDE_INT=32, as below: (define_split [(set (match_operand:DI 0 "gpc_reg_operand" "") (match_operand:DI 1 "const_double_operand" ""))] "HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1" And `HOST_BITS_PER_WIDE_INT == 32` is eliminated later, since it is `const_double_operand` can cover it. When wide_int is introduced, `const_double_operand` is replaced by `const_scalar_int_operand`. Now, HOST_BITS_PER_WIDE_INT is forced to 64, this splitter is safe to remove. gcc/ChangeLog: * config/rs6000/rs6000.md (const_scalar_int splitter): Remove. Diff: --- gcc/config/rs6000/rs6000.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 85b97389d82..959fad23091 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9712,18 +9712,6 @@ FAIL; }) -(define_split - [(set (match_operand:DI 0 "int_reg_operand_not_pseudo") - (match_operand:DI 1 "const_scalar_int_operand"))] - "TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1" - [(pc)] -{ - if (rs6000_emit_set_const (operands[0], operands[1])) - DONE; - else - FAIL; -}) - (define_split [(set (match_operand:DI 0 "altivec_register_operand") (match_operand:DI 1 "s5bit_cint_operand"))]