From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 3031B3858CD1 for ; Sat, 9 Dec 2023 02:26:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3031B3858CD1 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3031B3858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702088764; cv=none; b=CtqrslsOsklvHnIg6nzOyus2m4YtK3TW1v+AGsBp/4iw6o+0KPbP0eCnwW5BqBywhFKO2Y8mAtyTQFci2qsrL4XNS2iqFQ5v4Si/VOJrlX9ibuLi6qfq/Bm9ePBOw+I8uU+YenYZd/V/OHmKd2b9EbrBG5dc6TAGhRQgkIkygDA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702088764; c=relaxed/simple; bh=AxLs2TCT3egN4pSSh5+g4t84kc7/63lchreP2MFV09U=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=NrZYbmg6qiNZADpS+65oqMsqY3QBm8OCuvno5C3XMehsGbKb37fj3wpTjdTISmI7/xJAMczOaCoqXpo4u7qb+B3kOfm0eSLFnCWoLraeAY8iAs+CiwwO7zDh1J+mLdiPZJPKBbOH85qFa3NV6VAGPAsj2aXxJhOC/siu15OQslM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1d075392ff6so21624955ad.1 for ; Fri, 08 Dec 2023 18:26:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1702088762; x=1702693562; darn=gcc.gnu.org; h=mime-version:user-agent:message-id:date:organization:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=P18m+/w9dc7O9LNLeuddfphlgFku7rA6c6fTtxmdXWw=; b=aNhC/p5/Hjcpq2y9YIxImPkJB23U+1pZ4jT7nzHEKsiJMsHCSAbjQnJxsAXxp7+dto 6OnXOv1fcoGr1hZVldLrkh6Nbq1k0Um83FSn9YBmOg5SK36nVnDWJf/bO5gSEnzf3YWa l8Qx+kIVFB6QJFDV308gIdiUMJucEdKXvWVsxogH4swug6gAQhgaNMJxiN9q+8Y9BP43 a26PGEBRZdOWgb6zvA4C+Qzn2HAQq/zkARs+yddt/EQF0Z/N5jzjpPuLF7cTIIt8lvII ZACIWG55wW4yS+7nKnvtw8JBqSc0CHTX+3a9K5vFwWSj6S6b+26sP/4OTxdmUQsH+Grw hFJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702088762; x=1702693562; h=mime-version:user-agent:message-id:date:organization:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P18m+/w9dc7O9LNLeuddfphlgFku7rA6c6fTtxmdXWw=; b=SXnqsbpvV1KaT98ShAOQjJD7zFqTwHwjqXO+lT9ctbfwQ230ReIj3zcLnXh6l2NcKE aDn+NpqM/GwgkFHmvcGeSjWIoOIbaHY8SjcpLOD4PUDLvO7ZGuTb3GghfLB66hSQqLQV ZmOL2yVMJZikSCp3BUHv0q7ymIIWqj0gqnLqepo6pvUyrNuwDj10IHiyAgNsDLSgiOyV Z6mnn7hlLMCXqGTQijQJjsCJLcyegD2c6GmxU7jQbCrgrU0/CP/JPSpX/FXvmS9amRdF qbxQnv3a93zwZLI6/LgG1q8DFY/iYMKfCcV8BSvQ0Q5jB3r0ZWm4pkgVJvFNOzNUe5y/ 72lA== X-Gm-Message-State: AOJu0YzRH6l/57tPd+I7darJEBMORoRAFzM3iima71B6ZJc/jRrUcwxp ClSUcjFXJQMeQsaFez09AsSi6U33FwehZXw7DXC9kQ== X-Google-Smtp-Source: AGHT+IFrM+e891V8F9m22atBGgEZsIwOWxJizeGOgtmzMhaSdFRmS4VtTKsMcn2sOaIwAazEZ46gQQ== X-Received: by 2002:a17:902:7e84:b0:1d0:569f:edf with SMTP id z4-20020a1709027e8400b001d0569f0edfmr1163303pla.14.1702088762088; Fri, 08 Dec 2023 18:26:02 -0800 (PST) Received: from free.home ([2804:7f1:2080:b40a:22de:62ca:39d7:fbd4]) by smtp.gmail.com with ESMTPSA id j6-20020a170902c3c600b001d2e958df6dsm2389011plj.253.2023.12.08.18.26.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Dec 2023 18:26:01 -0800 (PST) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 3B92Pr15317647 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 8 Dec 2023 23:25:54 -0300 From: Alexandre Oliva To: gcc-patches@gcc.gnu.org Subject: [PATCH] -finline-stringops: don't assume ptr_mode ptr in memset [PR112804] Organization: Free thinker, does not speak for AdaCore Date: Fri, 08 Dec 2023 23:25:53 -0300 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_QUOTING autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On aarch64 -milp32, and presumably on other such targets, ptr can be in a different mode than ptr_mode in the testcase. Cope with it. Regstrapped on x86_64-linux-gnu, also tested the new test on aarch64-elf. Ok to install? for gcc/ChangeLog PR target/112804 * builtins.cc (try_store_by_multiple_pieces): Use ptr's mode for the increment. for gcc/testsuite/ChangeLog PR target/112804 * gcc.target/aarch64/inline-mem-set-pr112804.c: New. --- gcc/builtins.cc | 2 +- .../gcc.target/aarch64/inline-mem-set-pr112804.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c diff --git a/gcc/builtins.cc b/gcc/builtins.cc index 38b0acff13124..12a535d313f12 100644 --- a/gcc/builtins.cc +++ b/gcc/builtins.cc @@ -4519,7 +4519,7 @@ try_store_by_multiple_pieces (rtx to, rtx len, unsigned int ctz_len, to = change_address (to, QImode, 0); emit_move_insn (to, val); if (update_needed) - next_ptr = plus_constant (ptr_mode, ptr, blksize); + next_ptr = plus_constant (GET_MODE (ptr), ptr, blksize); } else { diff --git a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c new file mode 100644 index 0000000000000..fe8414559864d --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-options "-finline-stringops -mabi=ilp32 -ftrivial-auto-var-init=zero" } */ + +short m(unsigned k) { + const unsigned short *n[65]; + return 0; +} -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity Excluding neuro-others for not behaving ""normal"" is *not* inclusive