Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Jakub Jelinek
On Sun, Jan 15, 2017 at 12:37:19AM +1030, Alan Modra wrote: > On Sat, Jan 14, 2017 at 02:46:11PM +0100, Jakub Jelinek wrote: > > See Uros' comment about the INSN_CODE (insn) = insn_code_number;. > > Later email retracted the one about a crash. > > > Also, I'm worried about it for another reason,

Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Alan Modra
On Sat, Jan 14, 2017 at 02:46:11PM +0100, Jakub Jelinek wrote: > See Uros' comment about the INSN_CODE (insn) = insn_code_number;. Later email retracted the one about a crash. > Also, I'm worried about it for another reason, after the > if (!targetm.legitimate_combined_insn (insn)) > call the PAT

Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Alan Modra
On Sat, Jan 14, 2017 at 03:51:27AM -0600, Segher Boessenkool wrote: > It also prevents combine from combining any instruction into an existing > doloop insn (resulting in a doloop insn again). This isn't too serious, > almost always this is just a register copy that will be optimised away > some o

Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Uros Bizjak
On Sat, Jan 14, 2017 at 11:19 AM, Uros Bizjak wrote: > On Fri, Jan 13, 2017 at 4:58 PM, Uros Bizjak wrote: >> On Fri, Jan 13, 2017 at 12:50 PM, Alan Modra wrote: >>> Rather than using unspecs in doloop insns to stop combine creating >>> these insns, use legitimate_combined_insn. >>> >>> I'm not

Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Uros Bizjak
On Fri, Jan 13, 2017 at 4:58 PM, Uros Bizjak wrote: > On Fri, Jan 13, 2017 at 12:50 PM, Alan Modra wrote: >> Rather than using unspecs in doloop insns to stop combine creating >> these insns, use legitimate_combined_insn. >> >> I'm not sure why the original patch implementing >> legitimate_combin

Re: Avoid PR72749 by not using unspecs

2017-01-14 Thread Segher Boessenkool
On Fri, Jan 13, 2017 at 10:20:58PM +1030, Alan Modra wrote: > Rather than using unspecs in doloop insns to stop combine creating > these insns, use legitimate_combined_insn. > > I'm not sure why the original patch implementing > legitimate_combined_insn did not store the result of recog to the ins

Re: Avoid PR72749 by not using unspecs

2017-01-13 Thread Jeff Law
On 01/13/2017 04:50 AM, Alan Modra wrote: Rather than using unspecs in doloop insns to stop combine creating these insns, use legitimate_combined_insn. I'm not sure why the original patch implementing legitimate_combined_insn did not store the result of recog to the insn but it seems good to me,

Re: Avoid PR72749 by not using unspecs

2017-01-13 Thread Uros Bizjak
On Fri, Jan 13, 2017 at 12:50 PM, Alan Modra wrote: > Rather than using unspecs in doloop insns to stop combine creating > these insns, use legitimate_combined_insn. > > I'm not sure why the original patch implementing > legitimate_combined_insn did not store the result of recog to the insn > but