From patchwork Mon Mar 22 09:48:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kito Cheng X-Patchwork-Id: 1456449 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=google header.b=JrI9nDum; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F3qSp28qkz9sS8 for ; Mon, 22 Mar 2021 20:48:40 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 43640385782A; Mon, 22 Mar 2021 09:48:38 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by sourceware.org (Postfix) with ESMTPS id 57E083858004 for ; Mon, 22 Mar 2021 09:48:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 57E083858004 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kito.cheng@sifive.com Received: by mail-pj1-x102e.google.com with SMTP id q6-20020a17090a4306b02900c42a012202so8198693pjg.5 for ; Mon, 22 Mar 2021 02:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=d+S+wNdRIuFBaHD6N4eHFf86278xYDh9XNCxKofAWGc=; b=JrI9nDumSAX69I7oQvrlNGSBrC8BPhYgz6ghchz4sWzUL1vVhfs/IASzd6uKwx66jx ODvOoFDq7bdtro0fkETiBYK7I9qlO7NWSSicA04tuf3fi6Y+vuUiR+8UfPVdRpRUp56A sEMMJsUJPJHutMU+FNmNVFgIB6ArGN8RBjaolgf6T3RFYF6U+t4SAOQ6uaM9Ta/GL1Bw sCkhK9IVztD+Bgm8vlmLUSryt/D6dmUp0Cxa9dU1OzI7zWnBFZ2Ni39fEhr1ydywMVBX 4S2HGby8cHpDyQU9jiNFRI6oSbBuTihHXRNJm2yJMmOT0bDo475cdibuEUNwVQJHd252 21TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=d+S+wNdRIuFBaHD6N4eHFf86278xYDh9XNCxKofAWGc=; b=jn/9Kxr1o4OdEqRfGJ2lLShhj5gptTVTeG2R1fORtnEzTL2Lu/V0Cn5lQVYWy87M65 vf6l39N5KynKvhpF2XD+aLt1ihXnHO2DNnIDA0e2UU/ZHdkCGHvBhmRujt7yOPS5MPHH hurxPwpstfkn+c9bozNCBVaqNvwu2FEhqPLr3J99Wr99/ipzgAx9BYydB0hMla74cWM7 qob6ODkwQoG/8AhoYJ5DEDEW1qvqAh7cqesd+RyvbThXqEApHvJ+rfP8B8hjMF8BsgPU hAAvghxXAipPCwJEFss8zwvpZv42d86UyFX8dzzbZzRbQOVLM19O90C2h4225nk2FQiJ 256w== X-Gm-Message-State: AOAM530Zzkg407aRA13AszqYdOaMH2mBPkF/98ab/Tm+drEUXl7V1EYR NBECnuz+n421PGko2HE6BUvfs0+tMCRV6A== X-Google-Smtp-Source: ABdhPJwIv69WEKrO9FaAlBQ02LFz8Qnr07wt3Aw5dt86G+p2hDFSukCfaRTL/28T7h7wIUauoIa1Pg== X-Received: by 2002:a17:90a:c201:: with SMTP id e1mr12433881pjt.30.1616406512982; Mon, 22 Mar 2021 02:48:32 -0700 (PDT) Received: from hsinchu02.internal.sifive.com (114-34-229-221.HINET-IP.hinet.net. [114.34.229.221]) by smtp.gmail.com with ESMTPSA id 138sm13316277pfv.192.2021.03.22.02.48.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Mar 2021 02:48:32 -0700 (PDT) From: Kito Cheng To: gcc-patches@gcc.gnu.org, kito.cheng@gmail.com Subject: [committed] PR target/99702: Check RTL type before get value Date: Mon, 22 Mar 2021 17:48:25 +0800 Message-Id: <20210322094825.14423-1-kito.cheng@sifive.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Spam-Status: No, score=-14.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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: , Cc: Kito Cheng Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" gcc/ChangeLog: PR target/99702 * config/riscv/riscv.c (riscv_expand_block_move): Get RTL value after type checking. gcc/testsuite/ChangeLog: PR target/99702 * gcc.target/riscv/pr99702.c: New. --- gcc/config/riscv/riscv.c | 2 +- gcc/testsuite/gcc.target/riscv/pr99702.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/riscv/pr99702.c diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c index 96fc0c0a4a0..de8308c3af0 100644 --- a/gcc/config/riscv/riscv.c +++ b/gcc/config/riscv/riscv.c @@ -3259,9 +3259,9 @@ riscv_block_move_loop (rtx dest, rtx src, unsigned HOST_WIDE_INT length, bool riscv_expand_block_move (rtx dest, rtx src, rtx length) { - unsigned HOST_WIDE_INT hwi_length = UINTVAL (length); if (CONST_INT_P (length)) { + unsigned HOST_WIDE_INT hwi_length = UINTVAL (length); unsigned HOST_WIDE_INT factor, align; align = MIN (MIN (MEM_ALIGN (src), MEM_ALIGN (dest)), BITS_PER_WORD); diff --git a/gcc/testsuite/gcc.target/riscv/pr99702.c b/gcc/testsuite/gcc.target/riscv/pr99702.c new file mode 100644 index 00000000000..a28724c0958 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/pr99702.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-options "-O" } */ +char n; +void *i, *j; +void foo(void) { + __builtin_memcpy(i, j, n); +}