From patchwork Fri May 13 13:26:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takayuki 'January June' Suwa X-Patchwork-Id: 53940 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9DF46395C057 for ; Fri, 13 May 2022 13:35:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9DF46395C057 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1652448952; bh=Op7hHC/CLjnfSnoHtW+Jpo9aHUwHQLF/L8OtPpj9JsA=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=ixiGubuiTkOvs7pDVu6DALkceaJHPDfnmc2esNjwb9jW1cdPLkMtdafGPLLQwHnO0 YHr+6KOlsb987+U5M6kG/mBvZfxlh4fQXPuod5zzQArYxZ8kms+IZlez7GE2tDL4da 8R8u9KA1yeVAYBNZSsEwZ+JT8TQs4w3KxD83SWyw= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from nh604-vm8.bullet.mail.ssk.yahoo.co.jp (nh604-vm8.bullet.mail.ssk.yahoo.co.jp [182.22.90.65]) by sourceware.org (Postfix) with SMTP id AF353395B05E for ; Fri, 13 May 2022 13:35:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AF353395B05E Received: from [182.22.66.104] by nh604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:18 -0000 Received: from [182.22.91.207] by t602.bullet.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:18 -0000 Received: from [127.0.0.1] by omp610.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:18 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 656732.72280.bm@omp610.mail.ssk.yahoo.co.jp Received: (qmail 63283 invoked by alias); 13 May 2022 13:35:18 -0000 Received: from unknown (HELO ?192.168.2.3?) (175.177.45.163 with ) by smtp6004.mail.ssk.ynwp.yahoo.co.jp with SMTP; 13 May 2022 13:35:18 -0000 X-YMail-JAS: DIhLK0AVM1nyCKiZg7Zz8ExT25KnRItnYgtcLBF8YthxrO1QwCMzFxA3wZhH38iMnwq1dKl9Sd6Nb3HhOecqmg6Xy3a3wLaQxOrDeKyS0qC_jnhb9IXEI3V4du3t6roCrIX7NRTxXQ-- X-Apparently-From: X-YMail-OSG: PmzCG8EVM1mGKIxrAg8H08Nwv.IbMn.0CFFxe61MqSBuvhm w.GkzWwwRc8en3fJThrrZrz0n7V3WqPSIAoGHTA341ndswA4XhtEm.4GACiR 5SArI5SGmdvmSrYrl5nGVpXrtBX2I23G3mc9gnWxENGgK7pnr78UNUcpDmgk 4fB0w7rgn1uqtOXkdl5dmau4O.Xt9E6FvDOQMIfZdqgXKwZX9eagMLV9ZZeR lSk8Rrho35wfFy3pAr7PvTunxDRddz7vzZEMwCdh_XmBU.OLaQfkFBqlgUoY GusGN8kCJl2quMZRL5qOziKM3liHpWyKpIQzJ6.TXjFnZ.biHDPIhIyMGMBh 93t_XQAIscvEI.Am5hM_cqlOj_AnBWFKDniD.tMvJLEhVCPL61z3KDRsB3AT E9hVj6ZsBL7QQ8ggxb49_Rmobbx3qt9q.1AFERf9MfWeTUoMUKaad_Rdb6WY CxIlWPXZX2mmPLOyL379hJTKOWSodpfDuSDwVu2eqhKOd_Zj89SsZDSuKwU4 rcW.RVjD19g09MlqR583XcEXBuWklZs1XptEjvL_cg93HfCi5t6aaiFLQZLG Av04cAEDF3o_GdUyqewyFP9WtRHNh0GGVQfGKN2xdwT4pvNVe8_tdT0N14fA omALg0wg80e_s5kj_8oj.VekluV_8xO7jSubP.H_CCa6AzrLwsmWtK7NNARx ic2m9TKjcpOVqUIbOX6iCmcaw4UjQtby9u_bWGfiH2x5C8MYq2d8Z49fyBfM .st54ZdavPNxVo0.nqF2G0X0c4Vy0QwujGH4bR0Ted.G4Pj.1k9onBfn5vhR vh6lyIodiXOYym5bZINpk7AFPoYA9HMnrsjhQrIWEV4NXv8n2L5zxztkZhbn ECGUQxFWAjMCJqmsCA5bJhNDdkydrJ8mtzg9QGlJapkllttp.nzPJCRQAUxD B8S079NtneA34O.ayDw-- Message-ID: <8bfdbf59-cde2-3f96-12b7-52a43a6911ee@yahoo.co.jp> Date: Fri, 13 May 2022 22:26:30 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Content-Language: en-US To: gcc-patches@gcc.gnu.org Subject: [PATCH 1/5] xtensa: Simplify EXTUI instruction maskimm validations X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Takayuki 'January June' Suwa via Gcc-patches From: Takayuki 'January June' Suwa Reply-To: Takayuki 'January June' Suwa Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" No functional changes. gcc/ChangeLog: * gcc/config/xtensa/predicates.md (extui_fldsz_operand): Simplify. * gcc/config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand): Ditto. --- gcc/config/xtensa/predicates.md | 2 +- gcc/config/xtensa/xtensa.cc | 24 +++--------------------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md index 01226a2b3c7..daea63b182c 100644 --- a/gcc/config/xtensa/predicates.md +++ b/gcc/config/xtensa/predicates.md @@ -55,7 +55,7 @@ (define_predicate "extui_fldsz_operand" (and (match_code "const_int") - (match_test "xtensa_mask_immediate ((1 << INTVAL (op)) - 1)"))) + (match_test "IN_RANGE (INTVAL (op), 1, 16)"))) (define_predicate "sext_operand" (if_then_else (match_test "TARGET_SEXT") diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index 7023badf0e2..a1f77b2bd35 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -456,19 +456,7 @@ xtensa_b4constu (HOST_WIDE_INT v) bool xtensa_mask_immediate (HOST_WIDE_INT v) { -#define MAX_MASK_SIZE 16 - int mask_size; - - for (mask_size = 1; mask_size <= MAX_MASK_SIZE; mask_size++) - { - if ((v & 1) == 0) - return false; - v = v >> 1; - if (v == 0) - return true; - } - - return false; + return IN_RANGE (exact_log2 (v + 1), 1, 16); } @@ -2430,17 +2418,11 @@ print_operand (FILE *file, rtx x, int letter) case 'K': if (GET_CODE (x) == CONST_INT) { - int num_bits = 0; unsigned val = INTVAL (x); - while (val & 1) - { - num_bits += 1; - val = val >> 1; - } - if ((val != 0) || (num_bits == 0) || (num_bits > 16)) + if (!xtensa_mask_immediate (val)) fatal_insn ("invalid mask", x); - fprintf (file, "%d", num_bits); + fprintf (file, "%d", floor_log2 (val + 1)); } else output_operand_lossage ("invalid %%K value");