Re: [PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-12 Thread Yvan Roux
On 11 August 2015 at 12:28, Ramana Radhakrishnan wrote: >> >> Yes in big-endian DI mode value are stored into VFP registers, and >> here register 16 is the first of them s0. Just in case you want to do >> more test, the issue can be seen with a oneline testcase: >> >> __attribute__((__vector_size

Re: [PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-11 Thread Ramana Radhakrishnan
> > Yes in big-endian DI mode value are stored into VFP registers, and > here register 16 is the first of them s0. Just in case you want to do > more test, the issue can be seen with a oneline testcase: > > __attribute__((__vector_size__(2 * sizeof(int int fn1() {} Yep we may well have DImo

Re: [PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-10 Thread Yvan Roux
Hi Alan, On 10 August 2015 at 18:02, Alan Lawrence wrote: > Yvan Roux wrote: >> >> Hi, >> >> this patch is a fix for pr27127. It avoids splitting the DI registers >> into SI ones if it is not allowed, which breaks the introduced loop. >> I haven't added a testcase as the bug is already exhibited

Re: [PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-10 Thread Alan Lawrence
Yvan Roux wrote: Hi, this patch is a fix for pr27127. It avoids splitting the DI registers into SI ones if it is not allowed, which breaks the introduced loop. I haven't added a testcase as the bug is already exhibited by several regressions (like g++.dg/ext/attribute-test-2.C or g++.dg/eh/simd

[PATCH] PR target/67127: [ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf

2015-08-07 Thread Yvan Roux
Hi, this patch is a fix for pr27127. It avoids splitting the DI registers into SI ones if it is not allowed, which breaks the introduced loop. I haven't added a testcase as the bug is already exhibited by several regressions (like g++.dg/ext/attribute-test-2.C or g++.dg/eh/simd-1.C) but I can add