diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2024-07-17 00:19:30 -0500 |
---|---|---|
committer | Kewen Lin <linkw@gcc.gnu.org> | 2024-07-17 00:19:30 -0500 |
commit | dd4d71ca4d8d4252eb33a3202380524e6d43ba05 (patch) | |
tree | 627f96e8b5a6fe1f15c5656e4ec1b87aa80a626c /libiberty/putenv.c | |
parent | b5c813ed6035cf6ef831927e66e184a5847afbe6 (diff) | |
download | gcc-dd4d71ca4d8d4252eb33a3202380524e6d43ba05.zip gcc-dd4d71ca4d8d4252eb33a3202380524e6d43ba05.tar.gz gcc-dd4d71ca4d8d4252eb33a3202380524e6d43ba05.tar.bz2 |
rs6000: Change optab for ibm128 and ieee128 conversion
Currently for 128 bit floating-point ibm128 and ieee128
formats conversion, the corresponding libcalls are:
ibm128 -> ieee128 "__trunctfkf2"
ieee128 -> ibm128 "__extendkftf2"
, and generic code handling (like convert_mode_scalar) also
adopts sext_optab for ieee128 -> ibm128 while trunc_optab
for ibm128 -> ieee128. But in rs6000 port as function
rs6000_expand_float128_convert and init_float128_ieee show,
we adopt sext_optab for ibm128 -> ieee128 with "__trunctfkf2"
while trunc_optab for ieee128 -> ibm128 with "__extendkftf2".
To make them consistent and avoid some surprises, this patch
is to adjust rs6000 internal handlings by adopting trunc_optab
for ibm128 -> ieee128 with "__trunctfkf2" while sext_optab for
ieee128 -> ibm128 with "__extendkftf2".
gcc/ChangeLog:
* config/rs6000/rs6000.cc (init_float128_ieee): Use trunc_optab rather
than sext_optab for converting FLOAT128_IBM_P mode to FLOAT128_IEEE_P
mode, and use sext_optab rather than trunc_optab for converting
FLOAT128_IEEE_P mode to FLOAT128_IBM_P mode.
(rs6000_expand_float128_convert): Likewise.
Diffstat (limited to 'libiberty/putenv.c')
0 files changed, 0 insertions, 0 deletions