aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.ibm.com>2021-08-31 15:13:01 -0500
committerBill Schmidt <wschmidt@linux.ibm.com>2021-09-17 09:42:10 -0500
commit0a60524de103288347dd193937059e4e77c64079 (patch)
tree666d7588e2d6b2b824c8d21ebeecd3adf832a8fb /gcc
parent654187d05376f08667c8ba88309073e0345431c2 (diff)
downloadgcc-0a60524de103288347dd193937059e4e77c64079.zip
gcc-0a60524de103288347dd193937059e4e77c64079.tar.gz
gcc-0a60524de103288347dd193937059e4e77c64079.tar.bz2
rs6000: Move __builtin_mffsl to the [always] stanza
I over-restricted use of __builtin_mffsl, since I was unaware that it automatically uses mffs when mffsl is not available. Paul Clarke pointed this out in discussion of his SSE 4.1 compatibility patches. 2021-08-31 Bill Schmidt <wschmidt@linux.ibm.com> gcc/ * config/rs6000/rs6000-builtin-new.def (__builtin_mffsl): Move from [power9] to [always].
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000-builtin-new.def9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-new.def
index 6a28d51..a8c6b9e 100644
--- a/gcc/config/rs6000/rs6000-builtin-new.def
+++ b/gcc/config/rs6000/rs6000-builtin-new.def
@@ -208,6 +208,12 @@
double __builtin_mffs ();
MFFS rs6000_mffs {}
+; Although the mffsl instruction is only available on POWER9 and later
+; processors, this builtin automatically falls back to mffs on older
+; platforms. Thus it appears here in the [always] stanza.
+ double __builtin_mffsl ();
+ MFFSL rs6000_mffsl {}
+
; This thing really assumes long double == __ibm128, and I'm told it has
; been used as such within libgcc. Given that __builtin_pack_ibm128
; exists for the same purpose, this should really not be used at all.
@@ -2784,9 +2790,6 @@
signed long long __builtin_darn_raw ();
DARN_RAW darn_raw {}
- double __builtin_mffsl ();
- MFFSL rs6000_mffsl {}
-
const signed int __builtin_dtstsfi_eq_dd (const int<6>, _Decimal64);
TSTSFI_EQ_DD dfptstsfi_eq_dd {}