aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKewen Lin <linkw@linux.ibm.com>2023-04-26 00:21:14 -0500
committerKewen Lin <linkw@linux.ibm.com>2023-04-26 00:21:14 -0500
commit33a44e3aa81f9fdf8f6b87018abd4c664e545b53 (patch)
tree8c3774b7e64f2f082643fc83b6584bae71aee89f
parentfd75f6ae5625f087980ff4a7e76cc6284cfe5a3e (diff)
downloadgcc-33a44e3aa81f9fdf8f6b87018abd4c664e545b53.zip
gcc-33a44e3aa81f9fdf8f6b87018abd4c664e545b53.tar.gz
gcc-33a44e3aa81f9fdf8f6b87018abd4c664e545b53.tar.bz2
rs6000: Guard power9-vector for vsx_scalar_cmp_exp_qp_* [PR108758]
__builtin_vsx_scalar_cmp_exp_qp_{eq,gt,lt,unordered} used to be guarded with condition TARGET_P9_VECTOR before new bif framework was introduced (r12-5752-gd08236359eb229), since r12-5752 they are placed under stanza ieee128-hw, that is to check condition TARGET_FLOAT128_HW, it caused test case float128-cmp2-runnable.c to fail at -m32 as the condition TARGET_FLOAT128_HW isn't satisified with -m32. By checking the commit history, I didn't see any notes on why this condition change on them was made, so this patch is to move these bifs from stanza ieee128-hw to stanza power9-vector as before. PR target/108758 gcc/ChangeLog: * config/rs6000/rs6000-builtins.def (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt __builtin_vsx_scalar_cmp_exp_qp_lt, __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw to power9-vector.
-rw-r--r--gcc/config/rs6000/rs6000-builtins.def26
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def
index a033537..638d0bc 100644
--- a/gcc/config/rs6000/rs6000-builtins.def
+++ b/gcc/config/rs6000/rs6000-builtins.def
@@ -2797,6 +2797,19 @@
const vsi __builtin_vsx_xxbrw_v4si (vsi);
XXBRW_V4SI p9_xxbrw_v4si {}
+ const signed int __builtin_vsx_scalar_cmp_exp_qp_eq (_Float128, _Float128);
+ VSCEQPEQ xscmpexpqp_eq_kf {}
+
+ const signed int __builtin_vsx_scalar_cmp_exp_qp_gt (_Float128, _Float128);
+ VSCEQPGT xscmpexpqp_gt_kf {}
+
+ const signed int __builtin_vsx_scalar_cmp_exp_qp_lt (_Float128, _Float128);
+ VSCEQPLT xscmpexpqp_lt_kf {}
+
+ const signed int \
+ __builtin_vsx_scalar_cmp_exp_qp_unordered (_Float128, _Float128);
+ VSCEQPUO xscmpexpqp_unordered_kf {}
+
; Miscellaneous P9 functions
[power9]
@@ -2879,19 +2892,6 @@
fpmath _Float128 __builtin_mulf128_round_to_odd (_Float128, _Float128);
MULF128_ODD mulkf3_odd {}
- const signed int __builtin_vsx_scalar_cmp_exp_qp_eq (_Float128, _Float128);
- VSCEQPEQ xscmpexpqp_eq_kf {}
-
- const signed int __builtin_vsx_scalar_cmp_exp_qp_gt (_Float128, _Float128);
- VSCEQPGT xscmpexpqp_gt_kf {}
-
- const signed int __builtin_vsx_scalar_cmp_exp_qp_lt (_Float128, _Float128);
- VSCEQPLT xscmpexpqp_lt_kf {}
-
- const signed int \
- __builtin_vsx_scalar_cmp_exp_qp_unordered (_Float128, _Float128);
- VSCEQPUO xscmpexpqp_unordered_kf {}
-
fpmath _Float128 __builtin_sqrtf128_round_to_odd (_Float128);
SQRTF128_ODD sqrtkf2_odd {}