Power10: Add missing IEEE 128-bit XSCMP* built-in mappings.

This patch adds support for mapping the scalar_cmp_exp_qp_* built-in functions
to handle arguments that are either TFmode or KFmode, depending on whether long
double uses the IEEE 128-bit representation (TFmode) or the IBM 128-bit
representation (KFmode).  This shows up in the float128-cmp2-runnable.c test
when long double uses the IEEE 128-bit representation.

gcc/
2020-11-20  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000-call.c (rs6000_expand_builtin): Add missing
	XSCMP* cases for IEEE 128-bit long double.
This commit is contained in:
Michael Meissner 2020-11-20 18:24:13 -05:00
parent 83a1beee27
commit 9bdb34cebc

View File

@ -12808,6 +12808,22 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
case CODE_FOR_xsiexpqp_kf: icode = CODE_FOR_xsiexpqp_tf; break;
case CODE_FOR_xsiexpqpf_kf: icode = CODE_FOR_xsiexpqpf_tf; break;
case CODE_FOR_xststdcqp_kf: icode = CODE_FOR_xststdcqp_tf; break;
case CODE_FOR_xscmpexpqp_eq_kf:
icode = CODE_FOR_xscmpexpqp_eq_tf;
break;
case CODE_FOR_xscmpexpqp_lt_kf:
icode = CODE_FOR_xscmpexpqp_lt_tf;
break;
case CODE_FOR_xscmpexpqp_gt_kf:
icode = CODE_FOR_xscmpexpqp_gt_tf;
break;
case CODE_FOR_xscmpexpqp_unordered_kf:
icode = CODE_FOR_xscmpexpqp_unordered_tf;
break;
}
if (TARGET_DEBUG_BUILTIN)