public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "avieira at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/114801] [14/15 Regression] arm: ICE in find_cached_value, at rtx-vector-builder.cc:100 with MVE intrinsics Date: Mon, 29 Apr 2024 11:49:34 +0000 [thread overview] Message-ID: <bug-114801-4-4akyfoge0C@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-114801-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114801 avieira at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |avieira at gcc dot gnu.org --- Comment #17 from avieira at gcc dot gnu.org --- Before anything, it might be worth to redefine the testcase to something where the predicate would have an effect in the result, for instance: #include <arm_mve.h> uint32x4_t test_9() { return vdupq_m_n_u32(vdupq_n_u32(0xffffffff), 0, 0xcccc); } Next, it might be worth pointing out that the ISA does specify what happens when a predicate mask does not have all bits set for a specific element. Basically, the predicate mask operates on a per byte basis. Hence 16-bits in the mask, controlling all 16-bytes in a vector register. So for the above, the expected output would be {0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000}. Having said that I can see how you'd interpret the ACLE specs as defining such a mask to be 'UB', but I believe the intent was to make clear that all bits needed to be set if you wanted to true-predicate the full {32,16}-bit element. This is the most common use, I can't imagine many users will be manipulating the mask in such ways. clang seems to follow this behavior generating an assembly sequence that leads to the expected output, though they use vpsel probably due to some canonicalization. And I'd prefer to be consistent with clang here.
next prev parent reply other threads:[~2024-04-29 11:49 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-04-22 10:45 [Bug target/114801] New: [14 " acoplan at gcc dot gnu.org 2024-04-22 16:21 ` [Bug target/114801] " clyon at gcc dot gnu.org 2024-04-22 18:12 ` jakub at gcc dot gnu.org 2024-04-22 19:26 ` rguenth at gcc dot gnu.org 2024-04-26 13:14 ` [Bug target/114801] [14/15 " clyon at gcc dot gnu.org 2024-04-26 13:26 ` jakub at gcc dot gnu.org 2024-04-26 13:51 ` jakub at gcc dot gnu.org 2024-04-26 13:52 ` jakub at gcc dot gnu.org 2024-04-26 13:59 ` clyon at gcc dot gnu.org 2024-04-26 14:12 ` clyon at gcc dot gnu.org 2024-04-26 14:17 ` jakub at gcc dot gnu.org 2024-04-26 14:18 ` jakub at gcc dot gnu.org 2024-04-26 15:00 ` jakub at gcc dot gnu.org 2024-04-26 17:36 ` clyon at gcc dot gnu.org 2024-04-26 18:02 ` jakub at gcc dot gnu.org 2024-04-26 21:06 ` clyon at gcc dot gnu.org 2024-04-26 21:21 ` jakub at gcc dot gnu.org 2024-04-26 23:11 ` clyon at gcc dot gnu.org 2024-04-29 11:49 ` avieira at gcc dot gnu.org [this message] 2024-04-29 11:52 ` avieira at gcc dot gnu.org 2024-04-29 13:41 ` clyon at gcc dot gnu.org 2024-04-29 13:51 ` jakub at gcc dot gnu.org 2024-04-29 13:56 ` jakub at gcc dot gnu.org 2024-04-29 14:07 ` clyon at gcc dot gnu.org 2024-04-29 14:11 ` jakub at gcc dot gnu.org 2024-04-29 15:39 ` jakub at gcc dot gnu.org 2024-04-29 15:52 ` jakub at gcc dot gnu.org 2024-04-29 15:56 ` clyon at gcc dot gnu.org 2024-04-29 16:01 ` clyon at gcc dot gnu.org 2024-04-29 16:06 ` jakub at gcc dot gnu.org 2024-04-29 16:07 ` jakub at gcc dot gnu.org 2024-04-29 16:15 ` clyon at gcc dot gnu.org 2024-04-29 16:48 ` jakub at gcc dot gnu.org 2024-05-06 17:32 ` clyon at gcc dot gnu.org 2024-05-06 17:51 ` jakub at gcc dot gnu.org 2024-05-07 7:45 ` rguenth at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-114801-4-4akyfoge0C@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).