Bug 85293 - ICE in output_1257, at config/rs6000/vsx.md:3252
Summary: ICE in output_1257, at config/rs6000/vsx.md:3252
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 8.0.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-09 07:41 UTC by Martin Liška
Modified: 2018-04-14 21:14 UTC (History)
1 user (show)

See Also:
Host: x86_64-pc-linux-gnu
Target: powerpc64*-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Liška 2018-04-09 07:41:24 UTC
It's probably quite invalid use, but:

$ ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/builtins-2.c -mno-direct-move -Ofast -mmodulo -c
during RTL pass: final
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/builtins-2.c: In function ‘main’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/builtins-2.c:92:1: internal compiler error: in output_1257, at config/rs6000/vsx.md:3252
 }
 ^
0x119fe4eb output_1257
	../../gcc/config/rs6000/vsx.md:3252
0x10862d3f get_insn_template(int, rtx_def*)
	../../gcc/final.c:2139
0x1086572b final_scan_insn_1
	../../gcc/final.c:3105
0x10865d43 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
	../../gcc/final.c:3218
0x10862a63 final_1
	../../gcc/final.c:2088
0x10869d4f rest_of_handle_final
	../../gcc/final.c:4671
0x1086a26f execute
	../../gcc/final.c:4745
Comment 1 Segher Boessenkool 2018-04-09 13:02:17 UTC
Confirmed.  Any 64-bit target, -mcpu=power9 -mno-direct-move .
Comment 2 Segher Boessenkool 2018-04-14 21:13:52 UTC
Author: segher
Date: Sat Apr 14 21:13:20 2018
New Revision: 259386

URL: https://gcc.gnu.org/viewcvs?rev=259386&root=gcc&view=rev
Log:
rs6000: Disable -m[no-]direct-move (PR85293)

The -mno-direct-move option causes a lot of problems, since it forces
us to be able to generate code for p8 and up with some crucial
instructions missing.  This patch removes the -m[no-]direct-move
options so that the user cannot put us into this unexpected situation
anymore.  Internally we still have all the same flags, and they are
automatically set based on -mcpu; getting rid of that is a lot more
work and will have to wait for GCC 9 (in some places the flag is used
to see if we are compiling for a p8 _at all_).


	PR target/85293
	* config/rs6000/rs6000.opt (mdirect-move): Make deprecated.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Remove -mdirect-move
	and -mno-direct-move.

gcc/testsuite/
	PR target/85293
	* gcc.target/powerpc/pr80098-2.c: Remove -mdirect-move.  Remove the
	corresponding dg-error clause.
	* gcc.target/powerpc/pr80098-3.c: Ditto.
	* gcc.target/powerpc/pr80103-1.c: Delete.

Removed:
    trunk/gcc/testsuite/gcc.target/powerpc/pr80103-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/powerpc/pr80098-2.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr80098-3.c
Comment 3 Segher Boessenkool 2018-04-14 21:14:37 UTC
Fixed.