aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.ibm.com>2020-11-20 18:24:13 -0500
committerMichael Meissner <meissner@linux.ibm.com>2020-11-20 18:24:13 -0500
commit9bdb34cebcb4f5a9dcebbb5895d1300c2f869cbf (patch)
tree4a31e6f4992e39921c7ae589015cc18a1d46d3e7 /gcc/config
parent83a1beee2766f01a1f46f81ed53f679419318942 (diff)
downloadgcc-9bdb34cebcb4f5a9dcebbb5895d1300c2f869cbf.zip
gcc-9bdb34cebcb4f5a9dcebbb5895d1300c2f869cbf.tar.gz
gcc-9bdb34cebcb4f5a9dcebbb5895d1300c2f869cbf.tar.bz2
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.
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000-call.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c
index 3bd89a7..d619e23 100644
--- a/gcc/config/rs6000/rs6000-call.c
+++ b/gcc/config/rs6000/rs6000-call.c
@@ -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)