[gcc(refs/users/wschmidt/heads/builtins4)] rs6000: Fix mysterious reordering of vbpermq and vbpermq2

William Schmidt wschmidt@gcc.gnu.org
Tue Nov 24 16:46:05 GMT 2020


https://gcc.gnu.org/g:8e12f6ffca52a4bc17f6646b2bcd56e8e5bd8d6b

commit 8e12f6ffca52a4bc17f6646b2bcd56e8e5bd8d6b
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Tue Nov 17 12:27:22 2020 -0500

    rs6000: Fix mysterious reordering of vbpermq and vbpermq2
    
    2020-11-16  Bill Schmidt  <wschmidt@linux.ibm.com>
    
            * config/rs6000/rs6000-gen-builtins.c (write_bif_enum): Remove.
            (write_decls): Use bif_order array for rs6000_gen_builtins enum.

Diff:
---
 gcc/config/rs6000/rs6000-gen-builtins.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs6000-gen-builtins.c
index a25a34a166d..ab85ea5a6b3 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.c
+++ b/gcc/config/rs6000/rs6000-gen-builtins.c
@@ -2101,18 +2101,13 @@ write_autogenerated_header (FILE *file)
 	   bif_path, ovld_path);
 }
 
-/* Callback function used in creating the built-in function enumeration.  */
-void write_bif_enum (char *str)
-{
-  fprintf (header_file, "  RS6000_BIF_%s,\n", str);
-}
-
 /* Write declarations into the header file.  */
 static void
 write_decls ()
 {
   fprintf (header_file, "enum rs6000_gen_builtins\n{\n  RS6000_BIF_NONE,\n");
-  rbt_inorder_callback (&bif_rbt, bif_rbt.rbt_root, write_bif_enum);
+  for (int i = 0; i <= curr_bif; i++)
+    fprintf (header_file, "  RS6000_BIF_%s,\n", bifs[bif_order[i]].idname);
   fprintf (header_file, "  RS6000_BIF_MAX\n};\n\n");
 
   fprintf (header_file, "enum restriction {\n");


More information about the Gcc-cvs mailing list