================
@@ -548,11 +543,28 @@ SystemZTargetLowering::SystemZTargetLowering(const
TargetMachine &TM,
}
// Handle floating-point types.
+ if (!useSoftFloat()) {
+ // Promote all f16 operations to float, with some exceptions below.
+ for (unsigned Opc = 0; Opc < ISD::BUILTIN_OP_END; ++Opc)
+ setOperationAction(Opc, MVT::f16, Promote);
----------------
tgross35 wrote:
For the second one, it should be sufficient to ensure that i16<->f16
conversions are asm-only with no libcalls (it's possible this is tested
somewhere and I'm just overlooking it in the large diff)
https://github.com/llvm/llvm-project/pull/109164
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits