From: David Edelsohn Date: Fri, 22 Apr 2005 14:36:30 +0000 (+0000) Subject: re PR target/20813 (ICE in gen_reg_rtx for 3 spec tests) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=98c41d988c9db08ecdfb4d00b672b9e1a96031e8;p=platform%2Fupstream%2Fgcc.git re PR target/20813 (ICE in gen_reg_rtx for 3 spec tests) PR target/20813 * config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT. * config/rs6000/rs6000.c (processor_target_table): Rename rs64a to rs64. Add MASK_PPC_GFXOPT to powerpc64 and rs64. (rs6000_init_libfuncs): Set TFmode optabs to xlq names if TARGET_XL_COMPAT. * doc/invoke.texi (PowerPC options): Change rs64a to rs64. From-SVN: r98562 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0dda762..6431929 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2005-04-22 David Edelsohn + + PR target/20813 + * config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT. + * config/rs6000/rs6000.c (processor_target_table): Rename rs64a to + rs64. Add MASK_PPC_GFXOPT to powerpc64 and rs64. + (rs6000_init_libfuncs): Set TFmode optabs to xlq names if + TARGET_XL_COMPAT. + * doc/invoke.texi (PowerPC options): Change rs64a to rs64. + 2005-04-22 Nathan Sidwell * lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap). diff --git a/gcc/config/rs6000/default64.h b/gcc/config/rs6000/default64.h index c6ed142..f94103c 100644 --- a/gcc/config/rs6000/default64.h +++ b/gcc/config/rs6000/default64.h @@ -21,4 +21,5 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT \ - (MASK_POWERPC | MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS) + (MASK_POWERPC | MASK_PPC_GFXOPT | \ + MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index fc4683d..90ffed0 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1161,14 +1161,15 @@ rs6000_override_options (const char *default_cpu) POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_MFCRF | MASK_POWERPC64}, {"powerpc", PROCESSOR_POWERPC, POWERPC_BASE_MASK}, {"powerpc64", PROCESSOR_POWERPC64, - POWERPC_BASE_MASK | MASK_POWERPC64}, + POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64}, {"rios", PROCESSOR_RIOS1, MASK_POWER | MASK_MULTIPLE | MASK_STRING}, {"rios1", PROCESSOR_RIOS1, MASK_POWER | MASK_MULTIPLE | MASK_STRING}, {"rios2", PROCESSOR_RIOS2, MASK_POWER | MASK_POWER2 | MASK_MULTIPLE | MASK_STRING}, {"rsc", PROCESSOR_PPC601, MASK_POWER | MASK_MULTIPLE | MASK_STRING}, {"rsc1", PROCESSOR_PPC601, MASK_POWER | MASK_MULTIPLE | MASK_STRING}, - {"rs64a", PROCESSOR_RS64A, POWERPC_BASE_MASK | MASK_POWERPC64}, + {"rs64", PROCESSOR_RS64A, + POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64} }; const size_t ptt_size = ARRAY_SIZE (processor_target_table); @@ -8139,11 +8140,21 @@ rs6000_init_libfuncs (void) set_conv_libfunc (ufix_optab, SImode, TFmode, "_quitrunc"); } - /* Standard AIX/Darwin/64-bit SVR4 quad floating point routines. */ - set_optab_libfunc (add_optab, TFmode, "__gcc_qadd"); - set_optab_libfunc (sub_optab, TFmode, "__gcc_qsub"); - set_optab_libfunc (smul_optab, TFmode, "__gcc_qmul"); - set_optab_libfunc (sdiv_optab, TFmode, "__gcc_qdiv"); + /* AIX/Darwin/64-bit Linux quad floating point routines. */ + if (!TARGET_XL_COMPAT) + { + set_optab_libfunc (add_optab, TFmode, "__gcc_qadd"); + set_optab_libfunc (sub_optab, TFmode, "__gcc_qsub"); + set_optab_libfunc (smul_optab, TFmode, "__gcc_qmul"); + set_optab_libfunc (sdiv_optab, TFmode, "__gcc_qdiv"); + } + else + { + set_optab_libfunc (add_optab, TFmode, "_xlqadd"); + set_optab_libfunc (sub_optab, TFmode, "_xlqsub"); + set_optab_libfunc (smul_optab, TFmode, "_xlqmul"); + set_optab_libfunc (sdiv_optab, TFmode, "_xlqdiv"); + } } else { diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 56a0fc3..f273c2c 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -10565,7 +10565,7 @@ Supported values for @var{cpu_type} are @samp{401}, @samp{403}, @samp{860}, @samp{970}, @samp{8540}, @samp{common}, @samp{ec603e}, @samp{G3}, @samp{G4}, @samp{G5}, @samp{power}, @samp{power2}, @samp{power3}, @samp{power4}, @samp{power5}, @samp{powerpc}, @samp{powerpc64}, -@samp{rios}, @samp{rios1}, @samp{rios2}, @samp{rsc}, and @samp{rs64a}. +@samp{rios}, @samp{rios1}, @samp{rios2}, @samp{rsc}, and @samp{rs64}. @option{-mcpu=common} selects a completely generic processor. Code generated under this option will run on any POWER or PowerPC processor.