From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133]) by sourceware.org (Postfix) with ESMTPS id B5C82385802B for ; Wed, 26 May 2021 02:06:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B5C82385802B X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R111e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e04423; MF=cooper.qu@linux.alibaba.com; NM=1; PH=DS; RN=2; SR=0; TI=SMTPD_---0Ua7bx.r_1621994785; Received: from L-X0CGLVDL-0840.local(mailfrom:cooper.qu@linux.alibaba.com fp:SMTPD_---0Ua7bx.r_1621994785) by smtp.aliyun-inc.com(127.0.0.1); Wed, 26 May 2021 10:06:25 +0800 Subject: Re: [PATCH] C-SKY: Add insn "ldbs". To: Geng Qi , gcc-patches@gcc.gnu.org References: <20210525104525.1766-1-gengqi@linux.alibaba.com> From: Cooper Qu Message-ID: Date: Wed, 26 May 2021 10:06:24 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <20210525104525.1766-1-gengqi@linux.alibaba.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-21.2 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UNPARSEABLE_RELAY, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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-List-Received-Date: Wed, 26 May 2021 02:06:32 -0000 merged. On 5/25/21 6:45 PM, Geng Qi wrote: > gcc/ > * config/csky/csky.md (cskyv2_sextend_ldbs): New insn. > > gcc/testsuite/ > * gcc/testsuite/gcc.target/csky/ldbs.c: New. > --- > gcc/config/csky/csky.md | 10 ++++++++++ > gcc/testsuite/gcc.target/csky/ldbs.c | 11 +++++++++++ > 2 files changed, 21 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/csky/ldbs.c > > diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md > index c27d627..b980d4c 100644 > --- a/gcc/config/csky/csky.md > +++ b/gcc/config/csky/csky.md > @@ -1533,6 +1533,7 @@ > }" > ) > > +;; hi -> si > (define_insn "extendhisi2" > [(set (match_operand:SI 0 "register_operand" "=r") > (sign_extend:SI (match_operand:HI 1 "register_operand" "r")))] > @@ -1557,6 +1558,15 @@ > "sextb %0, %1" > ) > > +(define_insn "*cskyv2_sextend_ldbs" > + [(set (match_operand:SI 0 "register_operand" "=r") > + (sign_extend:SI (match_operand:QI 1 "csky_simple_mem_operand" "m")))] > + "CSKY_ISA_FEATURE (E2)" > + "ld.bs\t%0, %1" > + [(set_attr "length" "4") > + (set_attr "type" "load")] > +) > + > ;; qi -> hi > (define_insn "extendqihi2" > [(set (match_operand:HI 0 "register_operand" "=r") > diff --git a/gcc/testsuite/gcc.target/csky/ldbs.c b/gcc/testsuite/gcc.target/csky/ldbs.c > new file mode 100644 > index 0000000..27a0254 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/csky/ldbs.c > @@ -0,0 +1,11 @@ > +/* { dg-do compile } */ > +/* { dg-skip-if "" { *-*-* } { "-mcpu=ck801" "-march=ck801" } { "*" } } */ > +/* { dg-csky-options "-O1" } */ > + > +int foo (signed char *pb) > +{ > + return *pb; > +} > + > +/* { dg-final { scan-assembler "ld.bs" } } */ > +