mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-13 14:51:18 +08:00
Emit "#" instead of calling gcc_unreachable for invalid insns.
Implement standard approach by emitting "#" for insns that have to be split. * config/i386/i386.md (*pushtf): Emit "#" instead of calling gcc_unreachable in insn output. (*pushxf): Ditto. (*pushdf): Ditto. (*pushsf_rex64): Ditto for alternatives other than 1. (*pushsf): Ditto for alternatives other than 1.
This commit is contained in:
parent
c940105cc1
commit
ad84548336
@ -1,3 +1,12 @@
|
||||
2020-02-06 Uroš Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (*pushtf): Emit "#" instead of
|
||||
calling gcc_unreachable in insn output.
|
||||
(*pushxf): Ditto.
|
||||
(*pushdf): Ditto.
|
||||
(*pushsf_rex64): Ditto for alternatives other than 1.
|
||||
(*pushsf): Ditto for alternatives other than 1.
|
||||
|
||||
2020-02-06 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR gcov-profile/91971
|
||||
|
@ -3032,7 +3032,7 @@
|
||||
"TARGET_64BIT || TARGET_SSE"
|
||||
{
|
||||
/* This insn should be already split before reg-stack. */
|
||||
gcc_unreachable ();
|
||||
return ("#");
|
||||
}
|
||||
[(set_attr "isa" "*,x64")
|
||||
(set_attr "type" "multi")
|
||||
@ -3087,7 +3087,7 @@
|
||||
""
|
||||
{
|
||||
/* This insn should be already split before reg-stack. */
|
||||
gcc_unreachable ();
|
||||
return ("#");
|
||||
}
|
||||
[(set_attr "isa" "*,*,*,nox64,x64")
|
||||
(set_attr "type" "multi")
|
||||
@ -3123,7 +3123,7 @@
|
||||
""
|
||||
{
|
||||
/* This insn should be already split before reg-stack. */
|
||||
gcc_unreachable ();
|
||||
return ("#");
|
||||
}
|
||||
[(set_attr "isa" "*,nox64,nox64,nox64,x64,sse2")
|
||||
(set_attr "type" "multi")
|
||||
@ -3156,7 +3156,8 @@
|
||||
"TARGET_64BIT"
|
||||
{
|
||||
/* Anything else should be already split before reg-stack. */
|
||||
gcc_assert (which_alternative == 1);
|
||||
if (which_alternative != 1)
|
||||
return ("#");
|
||||
return "push{q}\t%q1";
|
||||
}
|
||||
[(set_attr "type" "multi,push,multi")
|
||||
@ -3169,7 +3170,8 @@
|
||||
"!TARGET_64BIT"
|
||||
{
|
||||
/* Anything else should be already split before reg-stack. */
|
||||
gcc_assert (which_alternative == 1);
|
||||
if (which_alternative != 1)
|
||||
return ("#");
|
||||
return "push{l}\t%1";
|
||||
}
|
||||
[(set_attr "type" "multi,push,multi")
|
||||
|
Loading…
x
Reference in New Issue
Block a user