On 24/10/13 15:52, Christophe Lyon wrote:
Hi Kyrill,

Kugan only fixes the tests we have observed to fail.
The different allocation is not caused by LRA, since we haven't
backported it to our 4.8-based branch.
The different allocation is caused by another difference between 4.8 and trunk.
I can't seem to get it to fail on my checkout of the linaro 4.8 branch. I tried both arm-none-eabi and arm-none-linux-gnueabihf. What kind of options/configuration are needed to reproduce this? Also, what kind of assembly is produced when the testcase fails? It'd be nice to make sure that the allocator doesn't end up doing something sub-optimal and unnecessarily moving stuff around to satisfy the alternative constraints that produce the other bit-select variants.

Kyrill


Christophe.


On 24 October 2013 16:39, Kyrill Tkachov <kyrylo.tkac...@arm.com> wrote:
On 24/10/13 00:04, Kugan wrote:
Hi,

arm testcases neon-vcond-ltgt.c and neon-vcond-unordered.c fails in
Linaro 4.8 branch. It is not reproducable with trunk but it can happen.
Both neon-vcond-ltgt.c and neon-vcond-unordered.c scans for vbsl
instruction, with other vector instructions. However, as per the comment
   for "neon_vbsl<mode>_internal" md pattern defined in neon.md, gcc can
generate vbsl or vbit or vbif depending on the register allocation.
Therfore, these testcases should scan for one of these three
instructions instead of just vbsl. I have updated the testcases to scan
vbsl or vbit or vbif now.

Is this OK?

Thanks,
Kugan

2013-10-23  Kugan Vivekanandarajah  <kug...@linaro.org>
         * gcc.target/arm/neon-vcond-ltgt.c: Scan for vbsl or vbit or vbif.
         * gcc.target/arm/neon-vcond-unordered.c: Scan for vbsl or vbit or
vbif.
Hi Kugan,

Hmmm... What about neon-vcond-gt.c? Could it conceivably start up using vbsl
or vbif as the register allocator changes (I assume this different
allocation is happening because of LRA?)

Otherwise looks sensible to me, but I cannot approve it.

Thanks,
Kyrill




Reply via email to