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 rtl-optimization/98603] aarch64: ICE in extract_insn (ira) on asm goto with bad constraint Date: Fri, 08 Jan 2021 14:19:53 +0000 [thread overview] Message-ID: <bug-98603-4-Fgk9faJIcU@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-98603-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98603 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The bug is function.c (instantiate_virtual_regs_in_insn): if (!check_asm_operands (PATTERN (insn))) { error_for_asm (insn, "impossible constraint in %<asm%>"); /* For asm goto, instead of fixing up all the edges just clear the template and clear input operands (asm goto doesn't have any output operands). */ if (JUMP_P (insn)) { rtx asm_op = extract_asm_operands (PATTERN (insn)); ASM_OPERANDS_TEMPLATE (asm_op) = ggc_strdup (""); ASM_OPERANDS_INPUT_VEC (asm_op) = rtvec_alloc (0); ASM_OPERANDS_INPUT_CONSTRAINT_VEC (asm_op) = rtvec_alloc (0); } else delete_insn (insn); } As the comment documents, that was correct before support for outputs in asm goto has been added, but for asm insn with outputs, there are multiple problems. One is that extract_asm_operands extracts just one of the ASM_OPERANDS, but with multiple outputs there can be several, and those need to be handled in sync. And the other is that we still keep the incorrectly constrained outputs if any in the IL.
next prev parent reply other threads:[~2021-01-08 14:19 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-08 13:54 [Bug rtl-optimization/98603] New: " acoplan at gcc dot gnu.org 2021-01-08 14:19 ` jakub at gcc dot gnu.org [this message] 2021-01-08 14:40 ` [Bug rtl-optimization/98603] " jakub at gcc dot gnu.org 2021-01-09 9:49 ` cvs-commit at gcc dot gnu.org 2021-01-09 9:53 ` jakub at gcc dot gnu.org 2022-10-27 7:55 ` linkw at gcc dot gnu.org 2022-10-27 14:42 ` pinskia 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-98603-4-Fgk9faJIcU@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).