Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes - remove q constraint

2019-02-21 Thread Kyrill Tkachov
On 2/20/19 9:12 PM, Jakub Jelinek wrote: On Mon, Feb 18, 2019 at 12:47:04PM +, Kyrill Tkachov wrote: Ok. Thanks for working on this. Sorry for the endless story here, but I've realized that the *arm_ldrd and *arm_strd instructions are the only remaining uses of the undocumented internal

[Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes - remove q constraint

2019-02-20 Thread Jakub Jelinek
On Mon, Feb 18, 2019 at 12:47:04PM +, Kyrill Tkachov wrote: > Ok. > > Thanks for working on this. Sorry for the endless story here, but I've realized that the *arm_ldrd and *arm_strd instructions are the only remaining uses of the undocumented internal constraint q and that it isn't really ne

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-18 Thread Kyrill Tkachov
On 2/17/19 7:29 AM, Jakub Jelinek wrote: On Mon, Feb 11, 2019 at 12:08:32PM +0100, Jakub Jelinek wrote: So like the patch below (though, I have only limited possibilities to test this, can throw it in armv7hl-linux-gnueabi distro build). Actually, that patch was bad, I misread the CORE_REGS v

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-16 Thread Jakub Jelinek
On Mon, Feb 11, 2019 at 12:08:32PM +0100, Jakub Jelinek wrote: > So like the patch below (though, I have only limited possibilities to test > this, can throw it in armv7hl-linux-gnueabi distro build). Actually, that patch was bad, I misread the CORE_REGS vs. GENERAL_REGS hardregset difference, it

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-14 Thread Kyrill Tkachov
On 2/11/19 2:35 PM, Matthew Malcomson wrote: On 10/02/19 09:42, Christophe Lyon wrote: > > Both this simple patch or the previous fix all the ICEs I reported, thanks. > > Of course, the scan-assembler failures remain to be fixed. > In the testcase I failed to account for targets that don't s

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-11 Thread Matthew Malcomson
On 10/02/19 09:42, Christophe Lyon wrote: > > Both this simple patch or the previous fix all the ICEs I reported, thanks. > > Of course, the scan-assembler failures remain to be fixed. > In the testcase I failed to account for targets that don't support arm mode or targets that do not support

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-11 Thread Jakub Jelinek
On Mon, Feb 11, 2019 at 10:32:23AM +, Kyrill Tkachov wrote: > I think this is ok. Ok, committed the simpler version. > The "q" constraint was introduced after the iwmmxt.md patterns were written > and it seems > that they were just never updated to use it. > It's hard for anyone to get a hol

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-11 Thread Kyrill Tkachov
Hi Jakub, On 08/02/19 11:40, Jakub Jelinek wrote: On Fri, Feb 08, 2019 at 11:29:10AM +, Matthew Malcomson wrote: > I'm pretty sure there's no difference between the iwmmxt target and > others so believe your simpler fix of just using 'q' is a good idea. > (there's no difference in gas and n

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-10 Thread Jakub Jelinek
On Sun, Feb 10, 2019 at 10:42:55AM +0100, Christophe Lyon wrote: > > 2019-02-08 Jakub Jelinek > > > > PR bootstrap/88714 > > * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint > > instead of r. > > > > Both this simple patch or the previous fix all the ICE

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-10 Thread Christophe Lyon
On Fri, 8 Feb 2019 at 12:40, Jakub Jelinek wrote: > > On Fri, Feb 08, 2019 at 11:29:10AM +, Matthew Malcomson wrote: > > I'm pretty sure there's no difference between the iwmmxt target and > > others so believe your simpler fix of just using 'q' is a good idea. > > (there's no difference in ga

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Jakub Jelinek
On Fri, Feb 08, 2019 at 11:29:10AM +, Matthew Malcomson wrote: > I'm pretty sure there's no difference between the iwmmxt target and > others so believe your simpler fix of just using 'q' is a good idea. > (there's no difference in gas and no documentation I have found mentions > a difference

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Matthew Malcomson
On 08/02/19 10:23, Jakub Jelinek wrote: > On Fri, Feb 08, 2019 at 11:06:02AM +0100, Christophe Lyon wrote: >> On Fri, 8 Feb 2019 at 10:51, Jakub Jelinek wrote: >>> >>> On Fri, Feb 08, 2019 at 10:18:03AM +0100, Christophe Lyon wrote: I'm afaid this patch causes several regressions. Maybe they

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Jakub Jelinek
On Fri, Feb 08, 2019 at 11:06:02AM +0100, Christophe Lyon wrote: > On Fri, 8 Feb 2019 at 10:51, Jakub Jelinek wrote: > > > > On Fri, Feb 08, 2019 at 10:18:03AM +0100, Christophe Lyon wrote: > > > I'm afaid this patch causes several regressions. Maybe they have > > > already been fixed post-commit

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Christophe Lyon
On Fri, 8 Feb 2019 at 10:51, Jakub Jelinek wrote: > > On Fri, Feb 08, 2019 at 10:18:03AM +0100, Christophe Lyon wrote: > > I'm afaid this patch causes several regressions. Maybe they have > > already been fixed post-commit (I have several validations for later > > commits still running)? > > The f

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Jakub Jelinek
On Fri, Feb 08, 2019 at 10:18:03AM +0100, Christophe Lyon wrote: > I'm afaid this patch causes several regressions. Maybe they have > already been fixed post-commit (I have several validations for later > commits still running)? The following patch fixes the single ICE I've tried to reproduce. Whi

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-08 Thread Christophe Lyon
On Tue, 5 Feb 2019 at 15:44, Matthew Malcomson wrote: > > These peepholes match a pair of SImode loads or stores that can be > implemented with a single LDRD or STRD instruction. > When compiling for TARGET_ARM, these peepholes originally created a set > pattern in DI mode to be caught by movdi pa

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-07 Thread Matthew Malcomson
>> > > Please add the PR marker to the testsuite ChangeLog as well. > I've been following this PR a bit from the sidelines, I believe a > substantial amount of code > (and one of the testcases) was written by Jakub, so please add him to > the ChangeLog entries as well. > > This looks ok to me

Re: [Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-06 Thread Kyrill Tkachov
Hi Matthew, On 05/02/19 14:44, Matthew Malcomson wrote: These peepholes match a pair of SImode loads or stores that can be implemented with a single LDRD or STRD instruction. When compiling for TARGET_ARM, these peepholes originally created a set pattern in DI mode to be caught by movdi patterns

[Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes

2019-02-05 Thread Matthew Malcomson
These peepholes match a pair of SImode loads or stores that can be implemented with a single LDRD or STRD instruction. When compiling for TARGET_ARM, these peepholes originally created a set pattern in DI mode to be caught by movdi patterns. This approach failed to take into account the possibilit