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.
rb10544.patch
Description: rb10544.patch