Bug: https://llvm.org/bugs/show_bug.cgi?id=24549
- Softening support of f16 was never finished, really. Always promote f16 to f32. If f32 is not legal, rely on f32 legalization after promotion.
- Update SoftenFloatRes_FP_EXTEND to look for a promoted operand if the operand's type action is to promote.
- Add the test case from the linked bug.
Ideally, we should test all the cases in
test/CodeGen/ARM/fp16-promote.ll with -vfp2. Doing that needs extra
work:
- some functions in this test don't compile
- all the functions need a new set of CHECKs for when both f32 and f16 are illegal.