https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118460
--- Comment #7 from Christophe Lyon <clyon at gcc dot gnu.org> --- Besides fixing the ICE, the patch I proposed in c#5 changes the codegen for armv8_2-fp16-move-2.c, which is compiled with -marm -mcpu=unset -march=armv8.2-a+fp16 from: test_select: vcvtb.f32.f16 s15, s0 @ 9 [c=8 l=4] extendhfsf2 vcvtb.f32.f16 s14, s1 @ 10 [c=8 l=4] extendhfsf2 vmov s0, s2 @ __fp16 @ 4 [c=4 l=4] *movhf_vfp_hf16/2 vcmpe.f32 s15, s14 @ 68 [c=4 l=4] *cmpsf_trap_vfp/0 vmrs APSR_nzcv, FPSCR @ 69 [c=4 l=4] *movcc_vfp bxpl lr @ 12 [c=16 l=12] *cond_return vmov s0, s1 @ __fp16 @ 6 [c=4 l=4] *movhf_vfp_hf16/2 bx lr @ 74 [c=8 l=12] *arm_return to: test_select: vcvtb.f32.f16 s0, s0 @ 9 [c=8 l=4] extendhfsf2 vcvtb.f32.f16 s15, s1 @ 10 [c=8 l=4] extendhfsf2 vcmp.f32 s0, s15 @ 57 [c=4 l=4] *cmpsf_vfp/0 vmrs APSR_nzcv, FPSCR @ 58 [c=4 l=4] *movcc_vfp ite mi @ 23 [c=4 l=10] *thumb2_movhfcc_vfp/2 vmovmi.f16 s0, s1 vmovpl.f16 s0, s2 bx lr @ 63 [c=8 l=12] *arm_return