Hello,

The patch reworks some of the VRND and VCVT code added for the FP16
extension support to remove the redundant UNSPECS and related
constructs.

Tested for arm-none-linux-gnueabihf with native bootstrap and make check
and for arm-none-eabi with cross-compiled check-gcc on an
ARMv8.4-A emulator.

Ok for trunk? If ok, could someone please commit the patch on my behalf, 
I don't have commit rights.

2019-05-29 Srinath Parvathaneni <srinath.parvathan...@arm.com>
           Matthew Wahab  <matthew.wa...@arm.com>

        * config/arm/iterators.md (VCVT_HF_US_N): Remove.
        (VCVT_SI_US_N): Remove.
        (VCVT_HF_US): Remove.
        (VCVTH_US): Remove.
        (FP16_RND): Remove.
        (sup): Remove UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S,
        UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S,
        UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N,
        UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N, UNSPEC_VCVTH_S,
        UNSPEC_VCVTH_U.
        (vcvth_op): Remove.
        (fp16_rnd_insn): Remove.
        * config/arm/unspecs.md: Remove UNSPEC_VCVT_HF_S_N,
        UNSPEC_VCVT_HF_U_N, UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N,
        UNSPEC_VCVTH_S, UNSPEC_VCVTH_U, UNSPEC_VCVTA_S, UNSPEC_VCVTA_U,
        UNSPEC_VCVTM_S, UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U,
        UNSPEC_VCVTP_S, UNSPEC_VCVTP_U, UNSPEC_VRND, UNSPEC_VRNDA,
        UNSPEC_VRNDI, UNSPEC_VRNDM, UNSPEC_VRNDN, UNSPEC_VRNDP,
        UNSPEC_VRNDX.
        * config/arm/vfp.md (neon_vcvth<sup>hf): Replace VCVTH_US with
        VCVT_US.
        (neon_vcvth<sup>si): Likewise.
        (neon_vcvth<sup>_nhf_unspec): Replace VCVTH_US_N with VCVT_US_N.
        (neon_vcvth<sup>_nhf): Likewise.
        (neon_vcvth<sup>_nsi_unspec): Replace VCVTH_SI_US_N with
        VCVT_US_N.
        (neon_vcvth<sup>_nsi): Likewise.

Attachment: rb10544.patch
Description: rb10544.patch

Reply via email to