------- Comment #10 from jakub at gcc dot gnu dot org 2006-02-10 20:58 ------- Subject: Bug 25864
Author: jakub Date: Fri Feb 10 20:58:33 2006 New Revision: 110851 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110851 Log: PR target/25864 Backport from mainline 2006-02-04 David Edelsohn <[EMAIL PROTECTED]> Jakub Jelinek <[EMAIL PROTECTED]> * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle IBM extended float format long double as "g" on powerpc*-linux. 2006-02-01 Jakub Jelinek <[EMAIL PROTECTED]> * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For -msoft-float -mlong-double-128 only issue a warning, but don't swich to DFmode long double. 2006-01-28 David Edelsohn <[EMAIL PROTECTED]> * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are incompatible. * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. (TARGET_LIBGCC2_CFLAGS): Define. * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. (TARGET_LIBGCC2_CFLAGS): Same. * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. 2006-01-27 Jakub Jelinek <[EMAIL PROTECTED]> * libgcc-std.ver: Add GCC_4.1.0 symbol version. * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append -mno-minimal-toc to previous content. (bispecs): Remove goal. * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. * config/rs6000/darwin-ldouble.c: Don't provide [EMAIL PROTECTED] compatibility aliases on powerpc-*-*gnu*. * config/rs6000/libgcc-ppc-glibc.ver: New file. * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. (ldblspecs): New goal. * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and _df_to_tf. * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, L_sf_to_tf or L_df_to_tf is defined. 2006-01-27 David Edelsohn <[EMAIL PROTECTED]> Alan Modra <[EMAIL PROTECTED]> * config/rs6000/linux.h (POWERPC_LINUX): Define. * config/rs6000/linux64.h (POWERPC_LINUX): Define. * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. (rs6000_override_options): Initialize rs6000_ieeequad. Initialize TFmode format to ibm_extended_format if not TARGET_IEEEQUAD. (rs6000_handle_option): Accept -mabi= ibmlongdouble and ieeelongdouble. (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. (rs6000_return_in_memory): Only return IEEEQUAD in memory. (function_arg_advance): IBM long double passed in two FPRs, not split. (function_arg): IBM long double passed in FPRs. (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. Only multireg GPR aligned. (rs6000_init_libfuncs): Enable IBM long double functions if not IEEEQUAD. (rs6000_generate_compare): Use IBM long double compare if not TARGET_IEEEQUAD. * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. (TARGET_IEEEQUAD): Define. (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if not TARGET_IEEEQUAD. * config/rs6000/rs6000.md: Enable TFmode patterns if !TARGET_IEEEQUAD. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are incompatible. * doc/invoke.texi (-mabi): Collect options together. Add ibmlongdouble and ieeelongdouble. Added: branches/gcc-4_1-branch/gcc/config/rs6000/libgcc-ppc-glibc.ver Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/config/fp-bit.h branches/gcc-4_1-branch/gcc/config/rs6000/aix.h branches/gcc-4_1-branch/gcc/config/rs6000/aix43.h branches/gcc-4_1-branch/gcc/config/rs6000/aix52.h branches/gcc-4_1-branch/gcc/config/rs6000/darwin-ldouble.c branches/gcc-4_1-branch/gcc/config/rs6000/darwin.h branches/gcc-4_1-branch/gcc/config/rs6000/linux.h branches/gcc-4_1-branch/gcc/config/rs6000/linux64.h branches/gcc-4_1-branch/gcc/config/rs6000/ppc64-fp.c branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.h branches/gcc-4_1-branch/gcc/config/rs6000/rs6000.md branches/gcc-4_1-branch/gcc/config/rs6000/sysv4.h branches/gcc-4_1-branch/gcc/config/rs6000/t-aix43 branches/gcc-4_1-branch/gcc/config/rs6000/t-aix52 branches/gcc-4_1-branch/gcc/config/rs6000/t-linux64 branches/gcc-4_1-branch/gcc/config/rs6000/t-ppccomm branches/gcc-4_1-branch/gcc/doc/invoke.texi branches/gcc-4_1-branch/gcc/libgcc-std.ver branches/gcc-4_1-branch/gcc/mklibgcc.in -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864