https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85769
--- Comment #2 from Tamar Christina <tnfchris at gcc dot gnu.org> --- It's not r250673, That was committed 2017-07-28 and a GCC built 2017-08-17 does the correct thing for non-Armv8.2-a. It promotes the fp16 values to 32 bits does the operations and converts them back to fp16. somewhere along the line something has decided to no longer do this. I can fix the ICE by adding the missing pattern explicitly, but it should have not generated this insn to begin with.