This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/71186] PowerPC64: Autovectorised code hits ICE with -O3 -mpower9 -mlra
- From: "meissner at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 01 Jun 2016 20:10:07 +0000
- Subject: [Bug target/71186] PowerPC64: Autovectorised code hits ICE with -O3 -mpower9 -mlra
- Auto-submitted: auto-generated
- References: <bug-71186-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71186
--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Wed Jun 1 20:09:35 2016
New Revision: 237006
URL: https://gcc.gnu.org/viewcvs?rev=237006&root=gcc&view=rev
Log:
[gcc]
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71186
* config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
for loading up all 0's or all 1's.
[gcc/testsuite]
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71186
* gcc.target/powerpc/pr71186.c: New test.
Index: gcc/config/rs6000/vsx.md
===================================================================
--- gcc/config/rs6000/vsx.md
(.../svn+ssh://meissner@gcc.gnu.org/svn/gcc/trunk/gcc/config/rs6000)
(revision 236935)
+++ gcc/config/rs6000/vsx.md (.../gcc/config/rs6000) (working copy)
@@ -776,8 +776,8 @@ (define_insn "xxspltib_v16qi"
[(set_attr "type" "vecperm")])
(define_insn "xxspltib_<mode>_nosplit"
- [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa")
- (match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "wE"))]
+ [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa,wa")
+ (match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "jwM,wE"))]
"TARGET_P9_VECTOR"
{
rtx op1 = operands[1];
[gcc]
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
alternatives, eliminating preferred register class. Add support
for the MTVSRDD instruction in ISA 3.0.
(vsx_splat_v4si_internal): Use splat_input_operand instead of
reg_or_indexed_operand.
(vsx_splat_v4sf_internal): Likewise.
[gcc/testsuite]
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-splat-4.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/powerpc/p9-splat-4.c
trunk/gcc/testsuite/gcc.target/powerpc/pr71186.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/vsx.md
trunk/gcc/testsuite/ChangeLog