[GCC][BUG][ARM] Fix ICE due to BFmode libfunc call (PR93300)
This was sent and approved on gcc-patches as "[GCC][BUG][Aarch64][ARM]
(PR93300) Fix ICE due to BFmode placement in GET_MODES_WIDER chain".
The observed error came about because BFmode was placed between HFmode
and SFmode in the GET_MODES_WIDER chain, resulting in convert_mode_scalar
attempting to gen a libfunc for a HFmode -> BFmode conversion.
This patch registers NULL for all libfuncs in BFmode, which stops the
middle-end from attempting to generate them.
gcc/ChangeLog:
2020-02-06 Stam Markianos-Wright <stam.markianos-wright@arm.com>
PR target/93300
* config/arm/arm.c (arm_block_arith_comp_libfuncs_for_mode): New.
(arm_init_libfuncs): Add BFmode support to block spurious BF libfuncs.
Use arm_block_arith_comp_libfuncs_for_mode for HFmode.