public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "jakub 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: Fri, 26 Apr 2024 13:51:02 +0000 [thread overview] Message-ID: <bug-114801-4-SkEYIc5ia0@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 --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Guess the primary question is why there is the gen_lowpart call at all. Is it that normally the mode of x is already right due to the prototypes of the builtins, with the exception that gcc likes to promote QImode/HImode arguments of calls to SImode, so is the intent in that case to just narrow down SImode back to HImode (seems VALID_MVE_PRED_MODE is only true for HImode from scalar MODE_INT modes)? If so, best would be to limit the call to just that case. So (completely untested): --- gcc/config/arm/arm-mve-builtins.cc.jj 2024-03-19 09:51:05.203631194 +0100 +++ gcc/config/arm/arm-mve-builtins.cc 2024-04-26 15:49:55.380344060 +0200 @@ -2100,7 +2100,12 @@ function_expander::add_input_operand (in mode = GET_MODE (x); } else if (VALID_MVE_PRED_MODE (mode)) - x = gen_lowpart (mode, x); + { + if (mode == HImode && GET_MODE (x) != HImode) + /* GCC promotes QI/HImode arguments to int, undo that + here. */ + x = lowpart_subreg (mode, x, SImode); + } m_ops.safe_grow (m_ops.length () + 1, true); create_input_operand (&m_ops.last (), x, mode); I'd hope if the argument is a vector mode x already has that mode...
next prev parent reply other threads:[~2024-04-26 13:51 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 [this message] 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 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-SkEYIc5ia0@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).