From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id AAFF9385840F; Thu, 23 Feb 2023 21:09:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AAFF9385840F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1677186566; bh=+3KviVQDeFdaC+eNS5X+yq0mmoDxsVxrZt8m8OytL7w=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Rw7g7KDF4wsiGdLIqrCR2EUaIj3ofeajWc0FtQ/bcIDoAiycNRjPbcrSHpoOw/prr mWIFYGLZ5Kx7IyjuZN0yXz/9nUhWGCwTHUzDfhDmiQwgqgDkHmCLc8pzVWdMQIft6v csMuNKFC6vsT4seIhIcd6eMkKPi76eihGDpSV0B4= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/108910] [12/13 Regression] Further ICE in aarch64_layout_arg Date: Thu, 23 Feb 2023 21:09:26 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108910 --- Comment #3 from Jakub Jelinek --- As I've tried to explain in the past, C/C++ considers float * and float *__attribute__((aligned (64))) types to be compatible, similarly to int and= int __attribute__((aligned (64))), so in calling convention one should ignore alignment on scalar types of passed arguments at least, because they can be pretty much random. Though extern void foo (long, long, long); void baz (void *); void bar (void *p) { long __attribute__((aligned (64))) q =3D 1; asm volatile ("" : "+r" (q)); foo (0.0L, q, q); } doesn't ICE.=