re PR target/51390 (Builtin changes on November 29th, broke recip-5.c)
authorMichael Meissner <meissner@the-meissners.org>
Fri, 2 Dec 2011 17:18:51 +0000 (17:18 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 2 Dec 2011 17:18:51 +0000 (17:18 +0000)
PR 51390

From-SVN: r181930

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index e53ba2b772f88facec65a759d1e0cead8644781f..d44c0366e6b243f9926fc2f085fda068ebf4b628 100644 (file)
@@ -1,3 +1,11 @@
+2011-12-02  Michael Meissner  <meissner@the-meissners.org>
+
+       PR target/51390
+       * config/rs6000/rs6000.c (def_builtin): Use the correct field to
+       figure out the function's attributes.
+       (struct builtin_description): Mark mask field as const since we no
+       longer need to modify it for SPE and PAIRED builtins.
+
 2011-12-02  Joseph Myers  <joseph@codesourcery.com>
 
        Revert:
index a615381fd738727b53297e67ee911a3930fcbab8..4c6d64242a8d6266ea5b929c4e18d838deebd896 100644 (file)
@@ -215,10 +215,7 @@ static GTY(()) section *toc_section;
 
 struct builtin_description
 {
-  /* mask is not const because we're going to alter it below.  This
-     nonsense will go away when we rewrite the -march infrastructure
-     to give us more target flag bits.  */
-  unsigned int mask;
+  const unsigned int mask;
   const enum insn_code icode;
   const char *const name;
   const enum rs6000_builtins code;
@@ -9394,7 +9391,7 @@ static void
 def_builtin (const char *name, tree type, enum rs6000_builtins code)
 {
   tree t;
-  unsigned classify = rs6000_builtin_info[(int)code].mask;
+  unsigned classify = rs6000_builtin_info[(int)code].attr;
   const char *attr_string = "";
 
   gcc_assert (name != NULL);