On 25/01/17 08:53, Christophe Lyon wrote:
On 24 January 2017 at 18:15, Bernd Schmidt <bschm...@redhat.com> wrote:
On 01/24/2017 06:03 PM, Christophe Lyon wrote:
Ha... the regression occurred between r 244818  and r 244816,
and I read r 244816 ChangeLog too quickly and did not notice
it was modifying ifcvt.c in addition to x86-only files.

So it's likely that it's your other patch for pr78634
that caused the regression I mentioned. Does it make
more sense?

That's possible. That added a missing cost check, so the question becomes -
is the change in generated assembly sensible, given the selected CPU type?

I can now confirm that the change is indeed caused by r244816 (pr78634).
The difference in the generated asm is:
-       vmov    d17, r0, r1
-       vmov    d16, r2, r3
-       vcmp.f64        d17, d16
+       vmov    d16, r0, r1
+       vmov    d17, r2, r3
+       vcmp.f64        d16, d17
         vmrs    APSR_nzcv, FPSCR
-       vselvs.f64      d16, d16, d17
+       vmovvs.f64      d16, d17

which, besides swapping d16 and d17, summarizes to
-       vselvs.f64      d16, d16, d17
+       vmovvs.f64      d16, d17

I'm not sure if there is a "best" one ?


The test is supposed to test the generation of the vsel instruction.
I believe adding an -mcpu=cortex-a57 to the testcases would be best, as
VSEL isn't actually available on Cortex-A5, it's just enabled by the 
-mfpu=fp-armv8 option.
A more realistic configuration would target an ARMv8-A CPU like the Cortex-A57.

Thanks,
Kyrill

Bernd

Reply via email to