diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2010-08-23 16:47:01 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2010-08-23 16:47:01 +0000 |
commit | b36cf9d28f68d00e8b24e38a028c8076342b06a6 (patch) | |
tree | 75babdfed5a5d5dbf4490f8815f7461775c5339b /gcc/config | |
parent | 8bcc030417710a0a30422305c73d2e29b22fadd9 (diff) | |
download | gcc-b36cf9d28f68d00e8b24e38a028c8076342b06a6.zip gcc-b36cf9d28f68d00e8b24e38a028c8076342b06a6.tar.gz gcc-b36cf9d28f68d00e8b24e38a028c8076342b06a6.tar.bz2 |
Update to use -mveclibabi=mass instead of -mmass
From-SVN: r163471
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 16 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.opt | 6 |
2 files changed, 17 insertions, 5 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index fc15198..95968a8 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -949,6 +949,9 @@ static const enum rs6000_btc builtin_classify[(int)RS6000_BUILTIN_COUNT] = #undef RS6000_BUILTIN #undef RS6000_BUILTIN_EQUATE +/* Support for -mveclibabi=<xxx> to control which vector library to use. */ +static tree (*rs6000_veclib_handler) (tree, tree, tree); + static bool rs6000_function_ok_for_sibcall (tree, tree); static const char *rs6000_invalid_within_doloop (const_rtx); @@ -2772,6 +2775,15 @@ rs6000_override_options (const char *default_cpu) rs6000_traceback_name); } + if (rs6000_veclibabi_name) + { + if (strcmp (rs6000_veclibabi_name, "mass") == 0) + rs6000_veclib_handler = rs6000_builtin_vectorized_libmass; + else + error ("unknown vectorization library ABI type (%s) for " + "-mveclibabi= switch", rs6000_veclibabi_name); + } + if (!rs6000_explicit_options.long_double) rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE; @@ -3909,8 +3921,8 @@ rs6000_builtin_vectorized_function (tree fndecl, tree type_out, } /* Generate calls to libmass if appropriate. */ - if (TARGET_MASS) - return rs6000_builtin_vectorized_libmass (fndecl, type_out, type_in); + if (rs6000_veclib_handler) + return rs6000_veclib_handler (fndecl, type_out, type_in); return NULL_TREE; } diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index dbd7580..56d6888 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -115,9 +115,9 @@ mpopcntd Target Report Mask(POPCNTD) Use PowerPC V2.06 popcntd instruction -mmass -Target Report Var(TARGET_MASS) Init(0) -Use the Mathematical Acceleration Subsystem library high performance math libraries. +mveclibabi= +Target RejectNegative Joined Var(rs6000_veclibabi_name) +Vector library ABI to use mvsx Target Report Mask(VSX) |