Hi all,

Using the define_substs in aarch64-simd.md this is a straightforward annotation 
to remove
a redundant fmov insn.

So the codegen goes from:
foo_d:
        fcvtn   v0.2s, v0.2d
        fmov    d0, d0
        ret

to the simple:
foo_d:
        fcvtn   v0.2s, v0.2d
        ret

Bootstrapped and tested on aarch64-none-linux-gnu.
Pushing to trunk.

Thanks,
Kyrill

gcc/ChangeLog:

        * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_): Rename 
to...
        (aarch64_float_truncate_lo_<mode><vczle><vczbe>): ... This.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/float_truncate_zero.c: New test.

Attachment: fcvtn.patch
Description: fcvtn.patch

Reply via email to