aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2codeview.cc
diff options
context:
space:
mode:
authorKewen Lin <linkw@linux.ibm.com>2024-07-30 21:21:15 -0500
committerKewen Lin <linkw@gcc.gnu.org>2024-07-30 21:21:15 -0500
commit993a3c0894c487dce5efc6cfb5b31a8358905e8f (patch)
tree49692d1e4d9b31581892532f6b0a9b964f19c18c /gcc/dwarf2codeview.cc
parent169341f0893a009736f9715db969909880d0e876 (diff)
downloadgcc-993a3c0894c487dce5efc6cfb5b31a8358905e8f.zip
gcc-993a3c0894c487dce5efc6cfb5b31a8358905e8f.tar.gz
gcc-993a3c0894c487dce5efc6cfb5b31a8358905e8f.tar.bz2
rs6000: Relax some FLOAT128 expander condition for FLOAT128_IEEE_P [PR105359]
As PR105359 shows, we disable some FLOAT128 expanders for 64-bit long double, but in fact IEEE float128 types like __ieee128 are only guarded with TARGET_FLOAT128_TYPE and TARGET_LONG_DOUBLE_128 is only checked when determining if we can reuse long_double_type_node. So this patch is to relax all affected FLOAT128 expander conditions for FLOAT128_IEEE_P. By the way, currently IBM double double type __ibm128 is guarded by TARGET_LONG_DOUBLE_128, so we have to use TARGET_LONG_DOUBLE_128 for it. IMHO, it's not necessary and can be enhanced later. Btw, for all test cases mentioned in PR105359, I removed the xfails and tested them with explicit -mlong-double-64, both pr79004.c and float128-hw.c are tested well and float128-hw4.c isn't tested (unsupported due to 64 bit long double conflicts with -mabi=ieeelongdouble). PR target/105359 gcc/ChangeLog: * config/rs6000/rs6000.md (@extenddf<FLOAT128:mode>2): Don't check TARGET_LONG_DOUBLE_128 for FLOAT128_IEEE_P modes. (extendsf<FLOAT128:mode>2): Likewise. (trunc<FLOAT128:mode>df2): Likewise. (trunc<FLOAT128:mode>sf2): Likewise. (floatsi<FLOAT128:mode>2): Likewise. (fix_trunc<FLOAT128:mode>si2): Likewise. gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr79004.c: Remove xfails.
Diffstat (limited to 'gcc/dwarf2codeview.cc')
0 files changed, 0 insertions, 0 deletions