[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2017-03-23 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2017-03-23 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #15 from ktkachov at gcc dot gnu.org --- Author: ktkachov Date: Thu Mar 23 14:55:48 2017 New Revision: 246419 URL: https://gcc.gnu.org/viewcvs?rev=246419&root=gcc&view=rev Log: [ARM] PR target/71436: Restrict *load_multiple pattern ti

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-30 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #14 from Bernd Schmidt --- Maybe the match_parallel predicate ought to also check that you have more than 4 loads, so that it doesn't match anything that could also be handled by ldmstm.md.

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-30 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #13 from ktkachov at gcc dot gnu.org --- (In reply to Richard Earnshaw from comment #12) > (In reply to Jakub Jelinek from comment #8) > > Or reload_completed || lra_in_progress, or punt on pseudos in the predicate. > > I think these

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-30 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #12 from Richard Earnshaw --- (In reply to Jakub Jelinek from comment #8) > Or reload_completed || lra_in_progress, or punt on pseudos in the predicate. I think these patterns can be generated during the expand of inlined memcpy oper

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED Assignee

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #8 from Jakub Jelinek --- Or reload_completed || lra_in_progress, or punt on pseudos in the predicate.

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #10 from ktkachov at gcc dot gnu.org --- I just noticed that our load_multiple_with_writeback pattern is also guarded on reload_in_progress || reload_completed so perhaps this is the way to go

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #9 from ktkachov at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #8) > Or reload_completed || lra_in_progress, or punt on pseudos in the predicate. I tried punting on pseudos in the predicate (in ldm_stm_operation_p) an

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #7 from Bernd Schmidt --- Ooh, ouch. Maybe load_multiple needs a "&& reload_completed" predicate?

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #6 from ktkachov at gcc dot gnu.org --- >From what I can see *load_multiple is intended to catch load-multiple of more than 4 registers (though it should work correctly for fewer than that). In this case where we're loading 2 registers

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-11-29 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 Bernd Schmidt changed: What|Removed |Added CC||bernds at gcc dot gnu.org Compo

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-06-06 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 --- Comment #1 from ktkachov at gcc dot gnu.org --- The invalid mem-mem set rtx appears during reload. It transforms: (insn 55 67 151 3 (parallel [ (set (reg:SI 0 r0) (mem/u/c:SI (reg/f:SI 147) [2 c+0 S4 A32]))

[Bug target/71436] [7 Regression] Segmentation fault in arm_output_multireg_pop

2016-06-06 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71436 ktkachov at gcc dot gnu.org changed: What|Removed |Added Known to work||6.1.0 Target Milestone|--